--- name: CI on: push: branches: [main] pull_request: # If another push to the same PR or branch happens while this workflow is still running, # cancel the earlier run in favor of the next run. # # There's no point in testing an outdated version of the code. GitHub only allows # a limited number of job runners to be active at the same time, so it's better to cancel # pointless jobs early so that more useful jobs can run sooner. concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: '3.10' - id: files uses: Ana06/get-changed-files@v2.2.0 - id: set-matrix run: | python .github/scripts/check_diff.py ${{ steps.files.outputs.all }} >> $GITHUB_OUTPUT outputs: dirs-to-run: ${{ steps.set-matrix.outputs.dirs-to-run }} codespell: name: cd ${{ matrix.working-directory }} needs: [build] strategy: matrix: working-directory: ${{ fromJson(needs.build.outputs.dirs-to-run) }} uses: ./.github/workflows/_codespell.yml with: working-directory: ${{ matrix.working-directory }} ci: name: cd ${{ matrix.working-directory }} needs: [ build ] strategy: matrix: working-directory: ${{ fromJson(needs.build.outputs.dirs-to-run) }} uses: ./.github/workflows/_all_ci.yml with: working-directory: ${{ matrix.working-directory }}