diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 9b007ee7..d9e5c871 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -14,12 +14,36 @@ concurrency: cancel-in-progress: true jobs: + changes: + runs-on: ubuntu-latest + permissions: + pull-requests: read + outputs: + groups: ${{ steps.changes.outputs.groups }} + steps: + - uses: actions/checkout@v4 + - uses: dorny/paths-filter@v2 + id: filter + with: + filters: | + sectors: + - 'src/sectors/**' + fusiontrees: + - 'src/sectors/**' + - 'src/fusiontrees/**' + spaces: + - 'src/spaces/**' + test: - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} + needs: changes + name: "${{ matrix.group }} : Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}" runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: + group: + - ${{ fromJSON(needs.changes.outputs.groups) }} + - 'tensors' version: - '1.6' # LTS version - '1' # automatically expands to the latest stable 1.x release of Julia @@ -44,6 +68,7 @@ jobs: - uses: julia-actions/julia-runtest@latest env: JULIA_NUM_THREADS: 4 + GROUP: ${{ matrix.group }} - uses: julia-actions/julia-processcoverage@v1 - uses: codecov/codecov-action@v3 with: @@ -74,3 +99,4 @@ jobs: - uses: julia-actions/julia-runtest@latest env: JULIA_NUM_THREADS: 4 + GROUP: 'tensors'