Skip to content

ci: bump dependabot/fetch-metadata to v3 #740

ci: bump dependabot/fetch-metadata to v3

ci: bump dependabot/fetch-metadata to v3 #740

Workflow file for this run

name: Build & Test
on:
workflow_dispatch:
schedule:
- cron: "0 12 * * 1,4"
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
name: Running build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ci-env:
- '1'
steps:
- name: Checkout code
uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 10
- uses: actions/setup-node@v4
with:
node-version: 24
cache: 'pnpm'
- name: Install
run: pnpm install
- name: Running build
run: pnpm build
test:
name: Running unit tests
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ci-env:
- '1'
steps:
- name: Checkout code
uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 10
- uses: actions/setup-node@v4
with:
node-version: 24
cache: 'pnpm'
- name: Install
run: pnpm install
- name: Running unit tests
run: pnpm test:unit
- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: unit-test-results
path: |
coverage/
junit.xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/lcov.info
flags: unittests
name: codecov-umbrella
fail_ci_if_error: false
verbose: true
integration:
name: Running integration tests
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ci-env:
- '1'
steps:
- name: Checkout code
uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 10
- uses: actions/setup-node@v4
with:
node-version: 24
cache: 'pnpm'
- name: Install
run: pnpm install
- name: Running integration tests
run: pnpm test:integration
- name: Upload integration test results
if: always()
uses: actions/upload-artifact@v4
with:
name: integration-test-results
path: |
junit-integration.xml
lint:
name: Running linters
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ci-env:
- '1'
steps:
- name: Checkout code
uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 10
- uses: actions/setup-node@v4
with:
node-version: 24
cache: 'pnpm'
- name: Install
run: pnpm install
- name: Running linter
run: pnpm lint
- name: Running format
run: pnpm format:check
e2e:
name: Running E2E tests
runs-on: ubuntu-latest
if: github.repository == 'jakub-k-slys/substack-api' && (github.event_name == 'push' && github.ref == 'refs/heads/main' || github.event_name == 'pull_request')
strategy:
fail-fast: false
matrix:
ci-env:
- '1'
steps:
- name: Checkout code
uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 10
- uses: actions/setup-node@v4
with:
node-version: 24
cache: 'pnpm'
- name: Install
run: pnpm install
- name: Running E2E tests
run: |
pnpm test:e2e
env:
SUBSTACK_API_KEY: ${{ secrets.SUBSTACK_API_KEY }}
SUBSTACK_HOSTNAME: ${{ secrets.SUBSTACK_HOSTNAME }}
- name: Upload E2E test results
if: always()
uses: actions/upload-artifact@v4
with:
name: e2e-test-results
path: |
junit-e2e.xml