diff --git a/.github/workflows/swift-tests.yml b/.github/workflows/swift-tests.yml index 00cfc100..6d6b600c 100644 --- a/.github/workflows/swift-tests.yml +++ b/.github/workflows/swift-tests.yml @@ -8,9 +8,18 @@ on: jobs: test: - name: Run Swift Tests + name: Run Swift Tests (${{ matrix.name }}) runs-on: macos-latest + strategy: + fail-fast: false # Don't cancel other matrix jobs when one fails + matrix: + include: + - name: app + path: . + - name: BitLogger + path: localPackages/BitLogger + steps: - name: Checkout code uses: actions/checkout@v5 @@ -21,14 +30,11 @@ jobs: - name: Cache build artifacts uses: actions/cache@v4 with: - path: .build - key: ${{ runner.os }}-build-${{ hashFiles('**/*.swift', '**/Package.resolved') }} + path: ${{ matrix.path }}/.build + key: ${{ runner.os }}-${{ matrix.name }}-${{ hashFiles(format('{0}/**/*.swift', matrix.path), format('{0}/**/Package.resolved', matrix.path)) }} restore-keys: | - ${{ runner.os }}-build-${{ hashFiles('**/Package.resolved') }} - ${{ runner.os }}-build- - - - name: Build the package - run: swift build + ${{ runner.os }}-${{ matrix.name }}-${{ hashFiles(format('{0}/**/Package.resolved', matrix.path)) }} + ${{ runner.os }}-${{ matrix.name }}- - name: Run Tests - run: swift test --parallel + run: swift test --parallel --quiet --package-path ${{ matrix.path }}