ci: Split Test workflow from CI workflow
This commit is contained in:
committed by
Wolfgang Walther
parent
31a3864f85
commit
57ef98a316
+7
-120
@@ -24,122 +24,12 @@ jobs:
|
|||||||
uses: ./.github/workflows/docs.yaml
|
uses: ./.github/workflows/docs.yaml
|
||||||
|
|
||||||
|
|
||||||
Lint-Style:
|
test:
|
||||||
name: Lint & check code style
|
name: Test
|
||||||
runs-on: ubuntu-latest
|
if: github.event_name == 'push'
|
||||||
steps:
|
uses: ./.github/workflows/test.yaml
|
||||||
- uses: actions/checkout@v4
|
secrets:
|
||||||
- name: Setup Nix Environment
|
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
|
||||||
uses: ./.github/actions/setup-nix
|
|
||||||
with:
|
|
||||||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
||||||
tools: style
|
|
||||||
- name: Run linter (check locally with `nix-shell --run postgrest-lint`)
|
|
||||||
run: postgrest-lint
|
|
||||||
- name: Run style check (auto-format with `nix-shell --run postgrest-style`)
|
|
||||||
run: postgrest-style-check
|
|
||||||
|
|
||||||
|
|
||||||
Test-Nix:
|
|
||||||
name: Test (Nix)
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
# Hack for enabling color output, see:
|
|
||||||
# https://github.com/actions/runner/issues/241#issuecomment-842566950
|
|
||||||
shell: script -qec "bash --noprofile --norc -eo pipefail {0}"
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Setup Nix Environment
|
|
||||||
uses: ./.github/actions/setup-nix
|
|
||||||
with:
|
|
||||||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
||||||
tools: tests
|
|
||||||
|
|
||||||
- name: Run coverage (IO tests and Spec tests against PostgreSQL 15)
|
|
||||||
run: postgrest-coverage
|
|
||||||
- name: Upload coverage to codecov
|
|
||||||
uses: codecov/codecov-action@v3.1.5
|
|
||||||
with:
|
|
||||||
files: ./coverage/codecov.json
|
|
||||||
|
|
||||||
- name: Run doctests
|
|
||||||
if: always()
|
|
||||||
run: nix-shell --run postgrest-test-doctests
|
|
||||||
|
|
||||||
- name: Check the spec tests for idempotence
|
|
||||||
if: always()
|
|
||||||
run: postgrest-test-spec-idempotence
|
|
||||||
|
|
||||||
|
|
||||||
Test-Pg-Nix:
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
pgVersion: [9.6, 10, 11, 12, 13, 14, 15, 16]
|
|
||||||
name: Test PG ${{ matrix.pgVersion }} (Nix)
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
# Hack for enabling color output, see:
|
|
||||||
# https://github.com/actions/runner/issues/241#issuecomment-842566950
|
|
||||||
shell: script -qec "bash --noprofile --norc -eo pipefail {0}"
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Setup Nix Environment
|
|
||||||
uses: ./.github/actions/setup-nix
|
|
||||||
with:
|
|
||||||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
||||||
tools: tests withTools
|
|
||||||
|
|
||||||
- name: Run spec tests
|
|
||||||
if: always()
|
|
||||||
run: postgrest-with-postgresql-${{ matrix.pgVersion }} postgrest-test-spec
|
|
||||||
|
|
||||||
- name: Run IO tests
|
|
||||||
if: always()
|
|
||||||
run: postgrest-with-postgresql-${{ matrix.pgVersion }} postgrest-test-io -vv
|
|
||||||
|
|
||||||
|
|
||||||
Test-Memory-Nix:
|
|
||||||
name: Test memory (Nix)
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Setup Nix Environment
|
|
||||||
uses: ./.github/actions/setup-nix
|
|
||||||
with:
|
|
||||||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
||||||
tools: memory
|
|
||||||
- name: Run memory tests
|
|
||||||
run: postgrest-test-memory
|
|
||||||
|
|
||||||
|
|
||||||
Loadtest-Nix:
|
|
||||||
name: Loadtest (Nix)
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Setup Nix Environment
|
|
||||||
uses: ./.github/actions/setup-nix
|
|
||||||
with:
|
|
||||||
tools: loadtest
|
|
||||||
- uses: actions-ecosystem/action-get-latest-tag@v1
|
|
||||||
id: get-latest-tag
|
|
||||||
with:
|
|
||||||
semver_only: true
|
|
||||||
- name: Run loadtest
|
|
||||||
run: |
|
|
||||||
postgrest-loadtest-against main ${{ steps.get-latest-tag.outputs.tag }}
|
|
||||||
postgrest-loadtest-report > loadtest/loadtest.md
|
|
||||||
- name: Upload report
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: loadtest.md
|
|
||||||
path: loadtest/loadtest.md
|
|
||||||
if-no-files-found: error
|
|
||||||
|
|
||||||
|
|
||||||
Build-Static-Nix:
|
Build-Static-Nix:
|
||||||
@@ -372,10 +262,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs:
|
needs:
|
||||||
- docs
|
- docs
|
||||||
- Lint-Style
|
- test
|
||||||
- Test-Nix
|
|
||||||
- Test-Pg-Nix
|
|
||||||
- Test-Memory-Nix
|
|
||||||
- Build-Static-Nix
|
- Build-Static-Nix
|
||||||
- Build-Stack
|
- Build-Stack
|
||||||
#- Get-FreeBSD-CirrusCI
|
#- Get-FreeBSD-CirrusCI
|
||||||
|
|||||||
@@ -0,0 +1,130 @@
|
|||||||
|
name: Test
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
secrets:
|
||||||
|
CACHIX_AUTH_TOKEN:
|
||||||
|
required: false
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
# Terminate all previous runs of the same workflow for pull requests
|
||||||
|
group: test-${{ github.head_ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint-style:
|
||||||
|
name: Lint & Style
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Setup Nix Environment
|
||||||
|
uses: ./.github/actions/setup-nix
|
||||||
|
with:
|
||||||
|
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
||||||
|
tools: style
|
||||||
|
- name: Run linter (check locally with `nix-shell --run postgrest-lint`)
|
||||||
|
run: postgrest-lint
|
||||||
|
- name: Run style check (auto-format with `nix-shell --run postgrest-style`)
|
||||||
|
run: postgrest-style-check
|
||||||
|
|
||||||
|
|
||||||
|
coverage:
|
||||||
|
name: Coverage
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
# Hack for enabling color output, see:
|
||||||
|
# https://github.com/actions/runner/issues/241#issuecomment-842566950
|
||||||
|
shell: script -qec "bash --noprofile --norc -eo pipefail {0}"
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Setup Nix Environment
|
||||||
|
uses: ./.github/actions/setup-nix
|
||||||
|
with:
|
||||||
|
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
||||||
|
tools: tests
|
||||||
|
|
||||||
|
- name: Run coverage (IO tests and Spec tests against PostgreSQL 15)
|
||||||
|
run: postgrest-coverage
|
||||||
|
- name: Upload coverage to codecov
|
||||||
|
uses: codecov/codecov-action@v3.1.5
|
||||||
|
with:
|
||||||
|
files: ./coverage/codecov.json
|
||||||
|
|
||||||
|
- name: Run doctests
|
||||||
|
if: always()
|
||||||
|
run: nix-shell --run postgrest-test-doctests
|
||||||
|
|
||||||
|
- name: Check the spec tests for idempotence
|
||||||
|
if: always()
|
||||||
|
run: postgrest-test-spec-idempotence
|
||||||
|
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
pgVersion: [9.6, 10, 11, 12, 13, 14, 15, 16]
|
||||||
|
name: PG ${{ matrix.pgVersion }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
# Hack for enabling color output, see:
|
||||||
|
# https://github.com/actions/runner/issues/241#issuecomment-842566950
|
||||||
|
shell: script -qec "bash --noprofile --norc -eo pipefail {0}"
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Setup Nix Environment
|
||||||
|
uses: ./.github/actions/setup-nix
|
||||||
|
with:
|
||||||
|
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
||||||
|
tools: tests withTools
|
||||||
|
|
||||||
|
- name: Run spec tests
|
||||||
|
if: always()
|
||||||
|
run: postgrest-with-postgresql-${{ matrix.pgVersion }} postgrest-test-spec
|
||||||
|
|
||||||
|
- name: Run IO tests
|
||||||
|
if: always()
|
||||||
|
run: postgrest-with-postgresql-${{ matrix.pgVersion }} postgrest-test-io -vv
|
||||||
|
|
||||||
|
|
||||||
|
memory:
|
||||||
|
name: Memory
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Setup Nix Environment
|
||||||
|
uses: ./.github/actions/setup-nix
|
||||||
|
with:
|
||||||
|
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
||||||
|
tools: memory
|
||||||
|
- name: Run memory tests
|
||||||
|
run: postgrest-test-memory
|
||||||
|
|
||||||
|
|
||||||
|
loadtest:
|
||||||
|
name: Loadtest
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: Setup Nix Environment
|
||||||
|
uses: ./.github/actions/setup-nix
|
||||||
|
with:
|
||||||
|
tools: loadtest
|
||||||
|
- uses: actions-ecosystem/action-get-latest-tag@v1
|
||||||
|
id: get-latest-tag
|
||||||
|
with:
|
||||||
|
semver_only: true
|
||||||
|
- name: Run loadtest
|
||||||
|
run: |
|
||||||
|
postgrest-loadtest-against main ${{ steps.get-latest-tag.outputs.tag }}
|
||||||
|
postgrest-loadtest-report > loadtest/loadtest.md
|
||||||
|
- name: Upload report
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: loadtest.md
|
||||||
|
path: loadtest/loadtest.md
|
||||||
|
if-no-files-found: error
|
||||||
Reference in New Issue
Block a user