Skip to content

Use Github's Container Registry (GHCR) to save environment image #33

Use Github's Container Registry (GHCR) to save environment image

Use Github's Container Registry (GHCR) to save environment image #33

Workflow file for this run

name: Build & Test
on:
push:
pull_request_target:
types:
- opened
- synchronized
- edited
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
ompi_version:
- main
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to GHCR container registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Bake the bootstrap docker image
uses: docker/bake-action@v5
with:
files: .github/docker-compose.yml
targets: bootstrap
workdir: .
set: |
*.output=type=docker,name=local/bootstrap/${{ matrix.ompi_version }}
*.cache-from=type=gha,scope=local/bootstrap/${{ matrix.ompi_version }}
*.cache-to=type=gha,mode=max,scope=local/bootstrap
*.args.OMPI_VERSION=${{ matrix.ompi_version }}
- name: Bootstrap the environment Dockerfile
run: docker run -v ${GITHUB_WORKSPACE}/.github:/configs local/bootstrap
- name: Build the environment
uses: docker/bake-action@v5
with:
files: .github/docker-compose.yml
targets: ghcr.io/sandialabs/fenix/env
workdir: .
pull: true
push: true
set: |
*.cache-from=type=gha,scope=local/env/${{ matrix.ompi_version }}
*.cache-to=type=gha,mode=max,scope=local/env/${{ matrix.ompi_version }}
*.tags=ghcr.io/sandialabs/fenix/env:${{ matrix.ompi_version }}
- name: Build Fenix
uses: docker/bake-action@v5
with:
source: .
files: .github/docker-compose.yml
targets: fenix
workdir: .
set: |
*.args.OMPI_VERSION=${{ matrix.ompi_version }}
- name: Test Fenix
run: docker run local/fenix