Skip to content

Revise testing infrastructure to decrease spurious failures #1

Revise testing infrastructure to decrease spurious failures

Revise testing infrastructure to decrease spurious failures #1

Workflow file for this run

name: test for rocker scripts
on:
pull_request:
branches:
- master
paths:
- tests/rocker_scripts/Dockerfile
- tests/rocker_scripts/cuda_matrix.json
- tests/rocker_scripts/test.sh
- scripts/*.sh
- "!scripts/install_R_*.sh"
- "!scripts/setup_R.sh"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
generate_matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v4
- id: set-matrix
run: |
CONTENT=$(jq 'tostring' -r tests/rocker_scripts/cuda_matrix.json)
echo ::set-output name=matrix::"${CONTENT}"
echo "${CONTENT}"
build:
needs: generate_matrix
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix: ${{fromJson(needs.generate_matrix.outputs.matrix)}}
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Prepare build
id: prep
run: |
lower_script_name=$(echo ${{ matrix.script_name }} | tr '[:upper:]' '[:lower:]')
test_name="${{ matrix.base_image }}-${{ matrix.tag }}-${lower_script_name}-${{ matrix.script_arg }}"
echo ::set-output name=output_tag::"${test_name/"/"/"-"}"
- name: test build
run: |
docker buildx build . -f tests/rocker_scripts/Dockerfile \
--output=type=docker \
--build-arg base_image=${{ matrix.base_image }} \
--build-arg tag=${{ matrix.tag }} \
--build-arg script_name=${{ matrix.script_name }} \
--build-arg script_arg=${{ matrix.script_arg }} \
--tag ${{ steps.prep.outputs.output_tag }}
- name: inspect image
run: |
make inspect-image/"${{ steps.prep.outputs.output_tag }}"
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: tmp
path: tmp