diff --git a/.github/workflows/codeql.yaml b/.github/workflows/codeql.yaml index 7659378..94a1638 100644 --- a/.github/workflows/codeql.yaml +++ b/.github/workflows/codeql.yaml @@ -1,6 +1,7 @@ name: CodeQL -on: [ push ] +on: + workflow_call: jobs: formatting: diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml new file mode 100644 index 0000000..b6f54b2 --- /dev/null +++ b/.github/workflows/pr.yaml @@ -0,0 +1,11 @@ +name: Pull Request Checks + +on: [ push ] + +jobs: + code-quality: + name: Check code quality + uses: ./.github/workflows/codeql.yaml + test: + name: Run tests + uses: ./.github/workflows/test.yaml diff --git a/.github/workflows/publish-test.yaml b/.github/workflows/publish-test.yaml index 744a614..f87b9f6 100644 --- a/.github/workflows/publish-test.yaml +++ b/.github/workflows/publish-test.yaml @@ -1,13 +1,7 @@ name: Publish to test Pypi on: - workflow_run: - workflows: - - "Unit tests" - branches: - - main - types: - - completed + workflow_call: jobs: publish-package: diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 7d348eb..9931dd9 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -1,9 +1,7 @@ name: Publish to Pypi on: - release: - types: - - published + workflow_call: jobs: publish-test: diff --git a/.github/workflows/release-staging.yaml b/.github/workflows/release-staging.yaml new file mode 100644 index 0000000..971a5af --- /dev/null +++ b/.github/workflows/release-staging.yaml @@ -0,0 +1,18 @@ +name: Release on Staging + +on: + push: + branches: + - main + +jobs: + code-quality: + name: Check code quality + uses: ./.github/workflows/codeql.yaml + test: + name: Run tests + uses: ./.github/workflows/test.yaml + publish: + name: Publish staging release + uses: ./.github/workflows/publish-test.yaml + needs: [code-quality, test] diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..ec42296 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,11 @@ +name: Release + +on: + release: + types: + - published + +jobs: + publish: + name: Publish release + uses: ./.github/workflows/publish.yaml diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index a2db696..aa6ae4e 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -1,6 +1,7 @@ name: Unit tests -on: [ push ] +on: + workflow_call: jobs: unit-test: