Fix validate-config script name in the docs #4468
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. | |
| # SPDX-License-Identifier: Apache-2.0 | |
| name: Spack | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| packages: write | |
| contents: write | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| GITHUB_USER: ${{ github.actor }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| jobs: | |
| # Filter to allow skipping the test if no relevant changes occurred. | |
| filter: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| test: ${{ steps.filter.outputs.test }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dorny/paths-filter@v4 | |
| id: filter | |
| with: | |
| filters: | | |
| test: | |
| - 'palace/**' | |
| - 'cmake/**' | |
| - 'extern/**' | |
| - 'examples/**' | |
| - 'test/unit/**' | |
| - 'test/data/**' | |
| - 'spack_repo/**' | |
| - '.github/actions/**' | |
| - '.github/workflows/spack.yml' | |
| # Build jobs | |
| build-x64-gcc: | |
| needs: filter | |
| if: needs.filter.outputs.test == 'true' | |
| runs-on: [self-hosted, x64] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/palace-ci | |
| with: | |
| toolchain: gcc | |
| run-regression-tests: 'false' | |
| build-gpu-gcc: | |
| needs: filter | |
| if: needs.filter.outputs.test == 'true' | |
| runs-on: [self-hosted, gpu] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/palace-ci | |
| with: | |
| toolchain: gcc | |
| variant: +cuda | |
| run-regression-tests: 'false' | |
| build-x64-gcc-openmp: | |
| needs: filter | |
| if: needs.filter.outputs.test == 'true' | |
| runs-on: [self-hosted, x64] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/palace-ci | |
| with: | |
| toolchain: gcc | |
| variant: "+openmp+int64" | |
| run-regression-tests: 'false' | |
| build-x64-gcc-cxx20: | |
| needs: filter | |
| if: needs.filter.outputs.test == 'true' | |
| runs-on: [self-hosted, x64] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/palace-ci | |
| with: | |
| toolchain: gcc | |
| variant: " cxxstd=20" | |
| run-regression-tests: 'false' | |
| build-test-x64-llvm: | |
| needs: filter | |
| if: needs.filter.outputs.test == 'true' | |
| runs-on: [self-hosted, x64] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/palace-ci | |
| with: | |
| toolchain: llvm | |
| additional-test-cases: transmon_coarse | |
| build-test-x64-intel: | |
| needs: filter | |
| if: needs.filter.outputs.test == 'true' | |
| runs-on: [self-hosted, x64] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/palace-ci | |
| with: | |
| toolchain: intel-oneapi | |
| additional-test-cases: transmon_coarse | |
| build-test-arm64-gcc: | |
| needs: filter | |
| if: needs.filter.outputs.test == 'true' | |
| runs-on: [self-hosted, arm64] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/palace-ci | |
| with: | |
| toolchain: gcc | |
| additional-test-cases: transmon_coarse | |
| build-test-arm64-llvm: | |
| needs: filter | |
| if: needs.filter.outputs.test == 'true' | |
| runs-on: [self-hosted, arm64] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/palace-ci | |
| with: | |
| toolchain: llvm | |
| additional-test-cases: transmon_coarse | |
| build-test-arm64-gcc-armpl: | |
| needs: filter | |
| if: needs.filter.outputs.test == 'true' | |
| runs-on: [self-hosted, arm64] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/palace-ci | |
| with: | |
| toolchain: gcc | |
| math-libs: armpl-gcc | |
| additional-test-cases: transmon_coarse | |
| # Refresh the shared Spack 1.2 buildcache index once all cache writers have | |
| # finished. Regression jobs can start as soon as their own build completes, | |
| # so this full index rebuild is not on their critical path. The index is | |
| # best-effort: binaries pushed concurrently remain available through Spack's | |
| # direct OCI-tag fallback and will be included by the next refresh. | |
| refresh-buildcache-index: | |
| needs: | |
| - filter | |
| - build-x64-gcc | |
| - build-gpu-gcc | |
| - build-x64-gcc-openmp | |
| - build-x64-gcc-cxx20 | |
| - build-test-x64-llvm | |
| - build-test-x64-intel | |
| - build-test-arm64-gcc | |
| - build-test-arm64-llvm | |
| - build-test-arm64-gcc-armpl | |
| if: | | |
| !cancelled() && | |
| needs.filter.outputs.test == 'true' && | |
| ( | |
| github.event_name != 'pull_request' || | |
| github.event.pull_request.head.repo.full_name == github.repository | |
| ) | |
| runs-on: ubuntu-latest | |
| # Serialize index writers across all refs. Individual spec tags are | |
| # immutable and may be pushed concurrently, but `update-index` is a | |
| # read-modify-write of the mirror's single `index.spack` tag, so two | |
| # concurrent writers are last-writer-wins and the loser's specs can drop | |
| # out of the index. The workflow-level group is keyed on github.ref and so | |
| # does not serialize across branches/PRs; this group deliberately omits it. | |
| # cancel-in-progress: false queues the newer writer instead of clobbering. | |
| concurrency: | |
| group: palace-1.2-buildcache-index | |
| cancel-in-progress: false | |
| queue: max | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/refresh-buildcache-index | |
| with: | |
| spack-version: releases/v1.2 | |
| mirror-url: oci://ghcr.io/awslabs/palace-1.2 | |
| # Test jobs | |
| test-x64-gcc: | |
| needs: [filter, build-x64-gcc] | |
| if: success() | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - solver: MUMPS | |
| - solver: SuperLU | |
| - solver: STRUMPACK | |
| - solver: Default | |
| runs-on: [self-hosted, x64-4xlarge] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/run-regression-tests | |
| with: | |
| toolchain: gcc | |
| linear-solver: ${{ matrix.solver }} | |
| test-gpu-gcc: | |
| needs: [filter, build-gpu-gcc] | |
| if: success() | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - solver: MUMPS | |
| - solver: SuperLU | |
| - solver: STRUMPACK | |
| - solver: Default | |
| runs-on: [self-hosted, gpu-4xlarge] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/run-regression-tests | |
| with: | |
| toolchain: gcc | |
| variant: +cuda | |
| linear-solver: ${{ matrix.solver }} | |
| test-x64-gcc-openmp: | |
| needs: [filter, build-x64-gcc-openmp] | |
| if: success() | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - solver: MUMPS | |
| - solver: SuperLU | |
| - solver: STRUMPACK | |
| - solver: Default | |
| runs-on: [self-hosted, x64-4xlarge] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/run-regression-tests | |
| with: | |
| toolchain: gcc | |
| variant: "+openmp+int64" | |
| linear-solver: ${{ matrix.solver }} |