diff --git a/.github/workflows/build-container.yml b/.github/workflows/build-container.yml index 59c1a98..b546748 100644 --- a/.github/workflows/build-container.yml +++ b/.github/workflows/build-container.yml @@ -17,11 +17,9 @@ jobs: strategy: fail-fast: false matrix: - # os: ['el9', 'cuda_11_8_0'] - os: ['el9'] + os: ['el9', 'cuda_11_8_0'] osg_series: ['23'] - # repo: ['development', 'testing', 'release'] - repo: ['development'] + repo: ['development', 'testing', 'release'] platform: ['linux/amd64','linux/arm64'] exclude: # cuda builds take a super long time; only do one of them @@ -54,45 +52,45 @@ jobs: output_image: ${{ steps.custom-image-name.outputs.output_image }} - # - name: Prepare CVMFS - # if: ${{ matrix.platform == 'linux/amd64' }} - # run: | - # sudo ./tests/setup_cvmfs.sh + - name: Prepare CVMFS + if: ${{ matrix.platform == 'linux/amd64' }} + run: | + sudo ./tests/setup_cvmfs.sh - # - name: Docker + CVMFS bindmount - # if: ${{ matrix.platform == 'linux/amd64' }} - # id: test-docker-cvmfs - # env: - # CONTAINER_IMAGE: ${{ steps.build-image.outputs.timestamp-image }} - # run: | - # sudo ./tests/test_inside_gha.sh docker \ - # bindmount \ - # "$CONTAINER_IMAGE" + - name: Docker + CVMFS bindmount + if: ${{ matrix.platform == 'linux/amd64' }} + id: test-docker-cvmfs + env: + CONTAINER_IMAGE: ${{ steps.build-image.outputs.timestamp-image }} + run: | + sudo ./tests/test_inside_gha.sh docker \ + bindmount \ + "$CONTAINER_IMAGE" - # - name: Docker + cvmfsexec - # if: ${{ matrix.platform == 'linux/amd64' }} - # id: test-docker-cvmfsexec - # env: - # CONTAINER_IMAGE: ${{ steps.build-image.outputs.timestamp-image }} - # run: | - # sudo ./tests/test_inside_gha.sh docker \ - # cvmfsexec \ - # "$CONTAINER_IMAGE" + - name: Docker + cvmfsexec + if: ${{ matrix.platform == 'linux/amd64' }} + id: test-docker-cvmfsexec + env: + CONTAINER_IMAGE: ${{ steps.build-image.outputs.timestamp-image }} + run: | + sudo ./tests/test_inside_gha.sh docker \ + cvmfsexec \ + "$CONTAINER_IMAGE" - # - name: Singularity + CVMFS bindmount - # if: ${{ matrix.platform == 'linux/amd64' }} - # id: test-singularity-cvmfs - # env: - # CONTAINER_IMAGE: ${{ steps.build-image.outputs.timestamp-image }} - # run: | - # if [[ $CONTAINER_IMAGE == *cuda* ]]; then - # echo >&2 "Skipping test: \$APPTAINER_TMPDIR (${APPTAINER_TMPDIR:-/tmp}) too small for cuda-based images" - # exit 0 - # else - # sudo ./tests/test_inside_gha.sh singularity \ - # bindmount \ - # "$CONTAINER_IMAGE" - # fi + - name: Singularity + CVMFS bindmount + if: ${{ matrix.platform == 'linux/amd64' }} + id: test-singularity-cvmfs + env: + CONTAINER_IMAGE: ${{ steps.build-image.outputs.timestamp-image }} + run: | + if [[ $CONTAINER_IMAGE == *cuda* ]]; then + echo >&2 "Skipping test: \$APPTAINER_TMPDIR (${APPTAINER_TMPDIR:-/tmp}) too small for cuda-based images" + exit 0 + else + sudo ./tests/test_inside_gha.sh singularity \ + bindmount \ + "$CONTAINER_IMAGE" + fi - id: upload-by-digest-harbor name: Upload By Digest to Harbor @@ -124,69 +122,6 @@ jobs: timestamp: ${{ steps.build-image.outputs.timestamp }} output_image: ${{ steps.custom-image-name.outputs.output_image }} - # - name: Harbor login - # # if: >- - # # github.ref == 'refs/heads/master' && - # # github.event_name != 'pull_request' && - # # github.repository_owner == 'opensciencegrid' - # uses: docker/login-action@v2 - # with: - # registry: hub.opensciencegrid.org - # username: ${{ secrets.OSG_HARBOR_ROBOT_USER }} - # password: ${{ secrets.OSG_HARBOR_ROBOT_PASSWORD }} - - # - name: Docker login - # if: >- - # github.ref == 'refs/heads/master' && - # github.event_name != 'pull_request' && - # github.repository_owner == 'opensciencegrid' - # uses: docker/login-action@v2 - # with: - # registry: docker.io - # username: ${{ secrets.DOCKER_USERNAME }} - # password: ${{ secrets.DOCKER_PASSWORD }} - - - # - id: upload-image - # uses: ./.github/actions/build-container-local - # with: - # registry_url: hub.opensciencegrid.org - # osg_series: ${{ matrix.osg_series }} - # osg_repo: ${{ matrix.repo }} - # base_os: ${{ matrix.os }} - # platform: ${{ matrix.platform }} - # push_by_digest: true - # timestamp_image: ${{ steps.build-image.outputs.timestamp-image }} - # setup: false - # output_image: ${{ steps.custom-image-name.outputs.output_image }} - - # - name: Export digest - # run: | - # mkdir -p /tmp/digests - # digest="${{ steps.upload-image.outputs.digest }}" - # touch "/tmp/digests/${digest#sha256:}" - - # - name: Upload digest - # uses: actions/upload-artifact@v4 - # with: - # name: digests-${{ steps.custom-image-name.outputs.base_tag }}-${{ steps.slash-escape.outputs.platform }} - # path: /tmp/digests/* - # if-no-files-found: error - # retention-days: 1 - - # - name: Export tags - # run: | - # mkdir -p /tmp/tags - # echo ${{ steps.upload-image.outputs.image-list }} > /tmp/tags/${{ steps.custom-image-name.outputs.base_tag }}-${{ steps.slash-escape.outputs.platform }} - - # - name: Upload tags - # uses: actions/upload-artifact@v4 - # with: - # name: tags-${{ steps.custom-image-name.outputs.base_tag }}-${{ steps.slash-escape.outputs.platform }} - # path: /tmp/tags/* - # if-no-files-found: error - # retention-days: 1 - merge-manifests: runs-on: ubuntu-latest needs: @@ -194,11 +129,9 @@ jobs: strategy: fail-fast: false matrix: - # os: ['el9', 'cuda_11_8_0'] - os: ['el9'] + os: ['el9', 'cuda_11_8_0'] osg_series: ['23'] - repo: ['development'] - # repo: ['development', 'testing', 'release'] + repo: ['development', 'testing', 'release'] registry: [ { url: hub.opensciencegrid.org,