Fixes for SIGPIPE-related failures #56
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
| name: ci | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - devel | |
| pull_request: | |
| branches: | |
| - devel | |
| permissions: | |
| contents: read | |
| packages: read | |
| concurrency: | |
| group: ci-${{github.ref}}-${{github.event.pull_request.number || github.run_number}} | |
| cancel-in-progress: true | |
| jobs: | |
| spindle-serial-ubuntu_x86: | |
| name: Testsuite (Serial, Ubuntu) | |
| environment: Spindle CI | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Check out Spindle | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 | |
| - name: Setup Docker Compose | |
| uses: docker/setup-compose-action@4eb059ff7f16592f9c84d5ca339c53cb7c5064e2 | |
| with: | |
| version: latest | |
| - name: Build spindle-serial-ubuntu image | |
| id: serial-ubuntu-build | |
| run: | | |
| cd containers/spindle-serial-ubuntu | |
| docker compose --progress=plain build | |
| - name: Bring spindle-serial-ubuntu up | |
| id: serial-ubuntu-up | |
| run: | | |
| cd containers/spindle-serial-ubuntu | |
| docker compose up -d | |
| - name: Verify munge works in spindle-serial-ubuntu | |
| id: serial-ubuntu-munge | |
| run: | | |
| docker exec spindlenode bash -c 'munge -n | unmunge' | |
| - name: Run spindle-serial-ubuntu testsuite | |
| id: serial-ubuntu-testsuite | |
| run: | | |
| docker exec spindlenode bash -c 'cd Spindle-build/testsuite && ./runTests' | |
| - name: Configure host core_pattern for coredumps | |
| if: ${{ !env.ACT }} | |
| run: | | |
| sudo sysctl -w kernel.core_pattern='core.%p' | |
| - name: Run spindle-serial-ubuntu crash tests | |
| run: | | |
| docker exec spindlenode bash -c 'cd Spindle-build/testsuite && ./run_crash_tests.sh --launcher=serial --scratch=/tmp/spindle_crash_test' | |
| - name: Bring spindle-serial-ubuntu down | |
| id: serial-ubuntu-down | |
| if: ${{ always() }} | |
| continue-on-error: true | |
| run: | | |
| cd containers/spindle-serial-ubuntu | |
| docker compose down | |
| spindle-serial-ubuntu_arm64: | |
| name: Testsuite (Serial, Ubuntu, arm64) | |
| environment: Spindle CI | |
| runs-on: ubuntu-24.04-arm | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Check out Spindle | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 | |
| - name: Setup Docker Compose | |
| uses: docker/setup-compose-action@4eb059ff7f16592f9c84d5ca339c53cb7c5064e2 | |
| with: | |
| version: latest | |
| - name: Build spindle-serial-ubuntu image | |
| id: serial-ubuntu-build | |
| run: | | |
| cd containers/spindle-serial-ubuntu | |
| docker compose --progress=plain build | |
| - name: Bring spindle-serial-ubuntu up | |
| id: serial-ubuntu-up | |
| run: | | |
| cd containers/spindle-serial-ubuntu | |
| docker compose up -d | |
| - name: Verify munge works in spindle-serial-ubuntu | |
| id: serial-ubuntu-munge | |
| run: | | |
| docker exec spindlenode bash -c 'munge -n | unmunge' | |
| - name: Run spindle-serial-ubuntu testsuite | |
| id: serial-ubuntu-testsuite | |
| run: | | |
| docker exec spindlenode bash -c 'cd Spindle-build/testsuite && ./runTests' | |
| - name: Configure host core_pattern for coredumps | |
| if: ${{ !env.ACT }} | |
| run: | | |
| sudo sysctl -w kernel.core_pattern='core.%p' | |
| - name: Run spindle-serial-ubuntu crash tests | |
| run: | | |
| docker exec spindlenode bash -c 'cd Spindle-build/testsuite && ./run_crash_tests.sh --launcher=serial --scratch=/tmp/spindle_crash_test' | |
| - name: Bring spindle-serial-ubuntu down | |
| id: serial-ubuntu-down | |
| if: ${{ always() }} | |
| continue-on-error: true | |
| run: | | |
| cd containers/spindle-serial-ubuntu | |
| docker compose down | |
| spindle-flux-ubuntu: | |
| name: Testsuite (Flux, Ubuntu) | |
| environment: Spindle CI | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Check out Spindle | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 | |
| - name: Setup Docker Compose | |
| uses: docker/setup-compose-action@4eb059ff7f16592f9c84d5ca339c53cb7c5064e2 | |
| with: | |
| version: latest | |
| - name: Build spindle-flux-ubuntu image | |
| id: flux-ubuntu-build | |
| run: | | |
| cd containers/spindle-flux-ubuntu | |
| docker compose --progress=plain build | |
| - name: Bring spindle-flux-ubuntu up | |
| id: flux-ubuntu-up | |
| run: | | |
| cd containers/spindle-flux-ubuntu | |
| docker compose up -d --wait --wait-timeout 60 | |
| - name: Verify munge works in spindle-flux-ubuntu | |
| id: flux-ubuntu-munge | |
| run: | | |
| docker exec node-1 bash -c 'munge -n | unmunge' | |
| - name: Run spindle-flux-ubuntu testsuite | |
| id: flux-ubuntu-testsuite | |
| run: | | |
| docker exec node-1 bash -c 'cd Spindle-build/testsuite && flux alloc --nodes=${workers} ./runTests --nodes=${workers} --tasks-per-node=3' | |
| - name: Configure host core_pattern for coredumps | |
| if: ${{ !env.ACT }} | |
| run: | | |
| sudo sysctl -w kernel.core_pattern='core.%p' | |
| - name: Run spindle-flux-ubuntu crash tests | |
| run: | | |
| docker exec node-1 bash -c 'cd Spindle-build/testsuite && flux alloc --nodes=${workers} ./run_crash_tests.sh --launcher=flux --nodes=${workers} --scratch=/shared/spindle_crash_test' | |
| - name: Bring spindle-flux-ubuntu down | |
| id: flux-ubuntu-down | |
| if: ${{ always() }} | |
| continue-on-error: true | |
| run: | | |
| cd containers/spindle-flux-ubuntu | |
| docker compose down | |
| spindle-slurm-ubuntu: | |
| name: Testsuite (Slurm rshlaunch, Ubuntu) | |
| environment: Spindle CI | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Check out Spindle | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 | |
| - name: Setup Docker Compose | |
| uses: docker/setup-compose-action@4eb059ff7f16592f9c84d5ca339c53cb7c5064e2 | |
| with: | |
| version: latest | |
| - name: Login to GitHub Container Registry | |
| if: ${{ !env.ACT }} | |
| uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Generate MariaDB configuration | |
| id: slurm-ubuntu-mariadb | |
| run: | | |
| cd containers/spindle-slurm-ubuntu/testing | |
| ./generate_config.sh | |
| - name: Build spindle-slurm-ubuntu image | |
| id: slurm-ubuntu-build | |
| run: | | |
| cd containers/spindle-slurm-ubuntu/testing | |
| docker compose --progress=plain build | |
| - name: Bring spindle-slurm-ubuntu up | |
| id: slurm-ubuntu-up | |
| run: | | |
| cd containers/spindle-slurm-ubuntu/testing | |
| docker compose up -d --wait --wait-timeout 120 | |
| - name: Verify munge works in spindle-slurm-ubuntu | |
| id: slurm-ubuntu-munge | |
| run: | | |
| docker exec slurm-head bash -c 'munge -n | unmunge' | |
| - name: Run spindle-slurm-ubuntu testsuite | |
| id: slurm-ubuntu-testsuite | |
| run: | | |
| docker exec slurm-head bash -c 'cd Spindle-build/testsuite && salloc -n${workers} -N${workers} ./runTests ${workers}' | |
| - name: Configure host core_pattern for coredumps | |
| if: ${{ !env.ACT }} | |
| run: | | |
| sudo sysctl -w kernel.core_pattern='core.%p' | |
| - name: Run spindle-slurm-ubuntu crash tests | |
| run: | | |
| docker exec slurm-head bash -c 'cd Spindle-build/testsuite && ./run_crash_tests.sh --launcher=slurm --nodes=${workers} --scratch=/shared/spindle_crash_test' | |
| - name: Bring spindle-slurm-ubuntu down | |
| id: slurm-ubuntu-down | |
| if: ${{ always() }} | |
| continue-on-error: true | |
| run: | | |
| cd containers/spindle-slurm-ubuntu/testing | |
| docker compose down | |
| spindle-slurm-srun-ubuntu: | |
| name: Testsuite (Slurm srun, Ubuntu) | |
| environment: Spindle CI | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Check out Spindle | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 | |
| - name: Setup Docker Compose | |
| uses: docker/setup-compose-action@4eb059ff7f16592f9c84d5ca339c53cb7c5064e2 | |
| with: | |
| version: latest | |
| - name: Login to GitHub Container Registry | |
| if: ${{ !env.ACT }} | |
| uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Generate MariaDB configuration | |
| id: slurm-ubuntu-mariadb | |
| run: | | |
| cd containers/spindle-slurm-ubuntu/testing-srun | |
| ./generate_config.sh | |
| - name: Build spindle-slurm-ubuntu image | |
| id: slurm-ubuntu-build | |
| run: | | |
| cd containers/spindle-slurm-ubuntu/testing-srun | |
| docker compose --progress=plain build | |
| - name: Bring spindle-slurm-ubuntu up | |
| id: slurm-ubuntu-up | |
| run: | | |
| cd containers/spindle-slurm-ubuntu/testing-srun | |
| docker compose up -d --wait --wait-timeout 120 | |
| - name: Verify munge works in spindle-slurm-srun-ubuntu | |
| id: slurm-ubuntu-munge | |
| run: | | |
| docker exec slurm-srun-head bash -c 'munge -n | unmunge' | |
| - name: Run spindle-slurm-srun-ubuntu testsuite | |
| id: slurm-ubuntu-testsuite | |
| run: | | |
| docker exec slurm-srun-head bash -c 'cd Spindle-build/testsuite && salloc -n${workers} -N${workers} ./runTests ${workers}' | |
| - name: Bring spindle-slurm-ubuntu down | |
| id: slurm-ubuntu-down | |
| if: ${{ always() }} | |
| continue-on-error: true | |
| run: | | |
| cd containers/spindle-slurm-ubuntu/testing-srun | |
| docker compose down | |
| spindle-slurm-plugin-ubuntu: | |
| name: Testsuite (Slurm Plugin, Ubuntu) | |
| environment: Spindle CI | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Check out Spindle | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 | |
| - name: Setup Docker Compose | |
| uses: docker/setup-compose-action@4eb059ff7f16592f9c84d5ca339c53cb7c5064e2 | |
| with: | |
| version: latest | |
| - name: Login to GitHub Container Registry | |
| if: ${{ !env.ACT }} | |
| uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Generate MariaDB configuration | |
| id: slurm-ubuntu-mariadb | |
| run: | | |
| cd containers/spindle-slurm-ubuntu/testing-plugin | |
| ./generate_config.sh | |
| - name: Build spindle-slurm-plugin-ubuntu image | |
| id: slurm-ubuntu-build | |
| run: | | |
| cd containers/spindle-slurm-ubuntu/testing-plugin | |
| docker compose --progress=plain build | |
| - name: Bring spindle-slurm-plugin-ubuntu up | |
| id: slurm-ubuntu-up | |
| run: | | |
| cd containers/spindle-slurm-ubuntu/testing-plugin | |
| docker compose up -d --wait --wait-timeout 120 | |
| - name: Verify munge works in spindle-slurm-plugin-ubuntu | |
| id: slurm-ubuntu-munge | |
| run: | | |
| docker exec slurm-plugin-head bash -c 'munge -n | unmunge' | |
| - name: Run spindle-slurm-plugin-ubuntu testsuite | |
| id: slurm-ubuntu-testsuite | |
| run: | | |
| docker exec slurm-plugin-head bash -c 'cd Spindle-build/testsuite && salloc -n${workers} -N${workers} ./runTests ${workers}' | |
| - name: Run spindle-slurm-plugin-ubuntu session testsuite | |
| id: slurm-ubuntu-testsuite-sessions | |
| run: | | |
| docker exec slurm-plugin-head bash -c 'cd Spindle-build/testsuite && salloc -n${workers} -N${workers} --spindle-session ./runTests ${workers}' | |
| - name: Configure host core_pattern for coredumps | |
| if: ${{ !env.ACT }} | |
| run: | | |
| sudo sysctl -w kernel.core_pattern='core.%p' | |
| - name: Run spindle-slurm-plugin-ubuntu crash tests | |
| run: | | |
| docker exec slurm-plugin-head bash -c 'cd Spindle-build/testsuite && ./run_crash_tests.sh --launcher=slurm-plugin --nodes=${workers} --scratch=/shared/spindle_crash_test' | |
| - name: Bring spindle-slurm-plugin-ubuntu down | |
| id: slurm-ubuntu-down | |
| if: ${{ always() }} | |
| continue-on-error: true | |
| run: | | |
| cd containers/spindle-slurm-ubuntu/testing-plugin | |
| docker compose down | |