name: CI
on:
push:
branches:
- main
pull_request:
types:
- opened
- synchronize
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
format:
uses: ./.github/workflows/on-workflow-call-format.yml
permissions:
contents: write
lint:
uses: ./.github/workflows/on-workflow-call-lint.yml
build:
uses: ./.github/workflows/on-workflow-call-build.yml
test:
uses: ./.github/workflows/on-workflow-call-test.yml
check:
uses: ./.github/workflows/on-workflow-call-check.yml
secrets: inherit
release:
if: needs.check.outputs.publish == 'yes' && github.event_name == 'push' &&
github.ref == 'refs/heads/main'
needs: [check, format, lint, build, test]
uses: ./.github/workflows/on-workflow-call-release.yml
secrets: inherit