Skip to content

Automated ASAN Test Workflow #106

Automated ASAN Test Workflow

Automated ASAN Test Workflow #106

name: Automated ASAN Test Workflow
on:
# Run the tests at 00:15 UTC on Sunday, Tuesday, and Fridays
schedule:
- cron: '15 0 * * 0,2,5'
# Allow this event to be triggered in the GitHub ui
workflow_dispatch:
jobs:
test-matrix:
strategy:
fail-fast: false
matrix:
arch: [ { runson: ubuntu-latest, id: -amd64 } ]
compiler: [ { id: -gcc-asan } ]
indices: [ { index64bit: 0, id: "" }, { index64bit: 1, id: "-index64" } ]
petscConfig: [ arch-ablate-opt ]
tensorFlowConfig: [ "", "enabled_tf" ]
runs-on: ${{ matrix.arch.runson }}
timeout-minutes: 240
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- uses: actions/checkout@v4
- name: Building tests
run: |
ABLATE_DEPENDENCY_IMAGE=ghcr.io/ubchrest/ablate/ablate-dependencies${{matrix.compiler.id}}${{matrix.indices.id}}:latest
docker buildx build .\
--file DockerTestFile \
--tag framework-test-image-${{matrix.tensorFlowConfig}}-${{ matrix.petscConfig }}${{matrix.compiler.id}}${{matrix.indices.id}} \
--build-arg PETSC_BUILD_ARCH='${{ matrix.petscConfig }}' \
--build-arg ENABLE_TENSOR_FLOW='${{ matrix.tensorFlowConfig }}' \
--build-arg ABLATE_DEPENDENCY_IMAGE=$ABLATE_DEPENDENCY_IMAGE \
--load
- name: Run all tests
run: docker run --rm framework-test-image-${{matrix.tensorFlowConfig}}-${{ matrix.petscConfig }}${{matrix.compiler.id}}${{matrix.indices.id}}
test:
runs-on: ubuntu-latest
needs: test-matrix
if: ${{ always() }}
steps:
- name: Check on failures
if: needs.test-matrix.result != 'success'
run: |
echo Tests unsuccessful!
exit 1
- run: echo All tests Successful!