Skip to content
Open
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
b9b8a86
Integration test workflow stub
johnwparent Jun 26, 2025
f3d9a55
inspect scan job results
johnwparent Jun 26, 2025
36af469
still testing
johnwparent Jun 26, 2025
44efa90
Need to source spack
johnwparent Jun 26, 2025
6f7e144
No conditional checkout
johnwparent Jun 26, 2025
134b9ce
GHA is so fragile
johnwparent Jun 26, 2025
e6133a9
consistent naming
johnwparent Jun 26, 2025
6797c8a
try again IG
johnwparent Jun 26, 2025
ac7c7ec
try to get correct format for data
johnwparent Jun 26, 2025
61ba567
Get specific attr from object
johnwparent Jun 26, 2025
d820c07
try making it the matrix
johnwparent Jun 26, 2025
8bd2b04
try again
johnwparent Jun 26, 2025
9c8127b
sanity check
johnwparent Jun 26, 2025
81449fc
Try include
johnwparent Jun 26, 2025
ff4842b
from json
johnwparent Jun 26, 2025
71abc72
Format output as json
johnwparent Jun 26, 2025
e13c45c
Quote vars
johnwparent Jun 26, 2025
e7bc120
No include
johnwparent Jun 26, 2025
f6d515c
Use actual smoketest repo
johnwparent Jun 27, 2025
e983805
fail-fast and no emptry string entry
johnwparent Jun 27, 2025
daf1b87
setup spack properly
johnwparent Jun 27, 2025
7e7c795
checkout spack
johnwparent Jun 27, 2025
7fa81ba
Windows support
johnwparent Jun 27, 2025
07e08fb
Better win support
johnwparent Jun 27, 2025
1433d7d
test root
johnwparent Jun 27, 2025
92e44e9
Remove OS check for windows from nix job
johnwparent Jul 11, 2025
3866feb
add artifact collection fallback and debugging
johnwparent Jul 11, 2025
67764de
try removing test from windows
johnwparent Jul 11, 2025
13b589d
re-add testing to Windows
johnwparent Jul 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 107 additions & 0 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
name: integration tests

on:
workflow_dispatch:
workflow_call:
pull_request:
branches:
- develop
- releases/**

concurrency:
group: intergrations-${{github.ref}}-${{github.event.pull_request.number || github.run_number}}
cancel-in-progress: true

jobs:
scan:
runs-on: ubuntu-latest
outputs:
packages: ${{ steps.scan.outputs.packages }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: "Add Integration test repo"
run: |
. share/spack/setup-env.sh
spack repo add https://github.com/johnwparent/test-spack-smoke-repo.git
- name: "List repo packages"
id: scan
run: |
. share/spack/setup-env.sh
packages_list="$(spack list --repo smoketest | python3 -c "import sys; print([f'"{x}"' for x in sys.stdin.read().split('\n') if x])")"
echo "packages=${packages_list}" >> "$GITHUB_OUTPUT"

run-nix:
needs: [scan]
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-13, macos-14]
package: ${{ fromJSON(needs.scan.outputs.packages) }} # list of spack intergration test packages to run
fail-fast: true
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: "Add Integration test repo"
run: |
. share/spack/setup-env.sh
spack repo add https://github.com/johnwparent/test-spack-smoke-repo.git
- name: "Spack install"
id: install
run: |
. share/spack/setup-env.sh
spack compiler find
spack external find cmake ninja
spack -dv install --test root ${{ matrix.package }}
- name: "Determine failure stage"
if: always() && (steps.install.outcome == 'failure')
run: |
. share/spack/setup-env.sh
echo "FAILURE_STAGE=$(spack location -s ${{ matrix.package }})" >> $GITHUB_ENV

- name: "Collect failure artifacts"
if: always() && (steps.install.outcome == 'failure')
uses: actions/upload-artifact@v4
with:
name: "${{ matrix.package }}-stage"
path: $FAILURE_STAGE



run-win:
defaults:
run:
shell:
powershell Invoke-Expression -Command "./share/spack/qa/windows_test_setup.ps1"; {0}
needs: [scan]
runs-on: windows-latest
strategy:
matrix:
package: ${{ fromJSON(needs.scan.outputs.packages) }} # list of spack intergration test packages to run
fail-fast: true
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
- name: "Add Integration test repo"
run: |
spack repo add https://github.com/johnwparent/test-spack-smoke-repo.git
- name: "Spack install"
id: install
run: |
spack compiler find
spack external find cmake ninja
spack -dv install --test root ${{ matrix.package }}
- name: "Determine failure stage"
if: always() && (steps.install.outcome == 'failure')
run: |
echo "FAILURE_STAGE=$(spack location -s ${{ matrix.package }})" >> $GITHUB_ENV

- name: "Collect failure artifacts"
if: always() && (steps.install.outcome == 'failure')
uses: actions/upload-artifact@v4
with:
name: "${{ matrix.package }}-stage"
path: $FAILURE_STAGE
Loading