fix: use GHCR_REGISTRY_{USER,TOKEN} #35
Workflow file for this run
This file contains 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: build-push | |
on: | |
push: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: false | |
env: | |
## Default versions are specified in packages.yaml but can be overridden | |
## note: nightly builds will always use the master/main branch | |
EDM4EIC_VERSION: "" | |
EICRECON_VERSION: "" | |
JUGGLER_VERSION: "" | |
## Dockerhub registry | |
DH_REGISTRY: docker.io | |
DH_REGISTRY_USER: eicweb | |
DH_PUSH: 0 | |
## GitHub registry | |
GH_REGISTRY: ghcr.io | |
GH_REGISTRY_USER: eic | |
GH_PUSH: 1 | |
jobs: | |
base: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- BASE_IMAGE: debian:stable-slim | |
BUILD_IMAGE: debian_stable_base | |
PLATFORM: linux/amd64 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: linux/amd64,linux/arm64 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
if: ${{ env.DH_PUSH == '1' }} | |
with: | |
registry: ${{ env.DH_REGISTRY }} | |
username: ${{ env.DH_REGISTRY_USER }} | |
password: ${{ secrets.DH_EICWEB_TOKEN }} | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
if: ${{ env.GH_PUSH == '1' }} | |
with: | |
registry: ${{ env.GH_REGISTRY }} | |
username: ${{ secrets.GHCR_REGISTRY_USER }} | |
password: ${{ secrets.GHCR_REGISTRY_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
file: containers/debian/base.Dockerfile | |
context: containers/debian | |
platforms: ${{ matrix.PLATFORM }} | |
push: true | |
tags: | | |
ghcr.io/eic/${{ matrix.BUILD_IMAGE }}:gha-${{ github.run_id }} | |
build-args: | | |
BASE_IMAGE=${{ matrix.BASE_IMAGE }} | |
BUILD_IMAGE=${{ matrix.BUILD_IMAGE }} | |
cache-from: type=gha,scope=${{ github.workflow }} | |
cache-to: type=gha,mode=max,scope=${{ github.workflow }} | |
dev: | |
runs-on: ubuntu-latest | |
needs: base | |
strategy: | |
matrix: | |
include: | |
- BASE_IMAGE: debian_testing_base | |
BUILD_IMAGE: jug_dev | |
PLATFORM: linux/amd64 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Load spack version and cherry-picks | |
id: spack | |
shell: bash | |
run: | | |
source spack.sh | |
echo "orgrepo=${SPACK_ORGREPO}" | tee -a $GITHUB_OUTPUT | |
echo "version=${SPACK_VERSION}" | tee -a $GITHUB_OUTPUT | |
echo "cherrypicks=${SPACK_CHERRYPICKS//$'\n'/ }" | tee -a $GITHUB_OUTPUT | |
echo "cherrypicks_files=${SPACK_CHERRYPICKS_FILES//$'\n'/ }" | tee -a $GITHUB_OUTPUT | |
- name: Load eic-spack version and cherry-picks | |
id: eic-spack | |
run: | | |
source eic-spack.sh | |
echo "orgrepo=${EICSPACK_ORGREPO}" | tee -a $GITHUB_OUTPUT | |
echo "version=${EICSPACK_VERSION}" | tee -a $GITHUB_OUTPUT | |
echo "cherrypicks=${EICSPACK_CHERRYPICKS//$'\n'/ }" | tee -a $GITHUB_OUTPUT | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: linux/amd64 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
if: ${{ env.DH_PUSH == '1' }} | |
with: | |
registry: ${{ env.DH_REGISTRY }} | |
username: ${{ env.DH_REGISTRY_USER }} | |
password: ${{ secrets.DH_EICWEB_TOKEN }} | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
if: ${{ env.GH_PUSH == '1' }} | |
with: | |
registry: ${{ env.GH_REGISTRY }} | |
username: ${{ env.GH_REGISTRY_USER }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
file: containers/jug/dev.Dockerfile | |
context: containers/jug | |
build-contexts: | | |
spack-environment=spack-environment | |
platforms: ${{ matrix.PLATFORM }} | |
push: false | |
tags: | | |
eicweb/${{ matrix.BUILD_IMAGE }}:gha | |
ghcr.io/eic/${{ matrix.BUILD_IMAGE }}:gha | |
build-args: | | |
DOCKER_REGISTRY=${{ env.GH_REGISTRY }}/${{ env.GH_REGISTRY_USER }}/ | |
BASE_IMAGE=${{ matrix.BASE_IMAGE }} | |
BUILD_IMAGE=${{ matrix.BUILD_IMAGE }} | |
INTERNAL_TAG=gha-${{ github.run_id }} | |
SPACK_ORGREPO=${{ steps.spack.outputs.orgrepo }} | |
SPACK_VERSION=${{ steps.spack.outputs.version }} | |
SPACK_CHERRYPICKS=${{ steps.spack.outputs.cherrypicks }} | |
SPACK_CHERRYPICKS_FILES=${{ steps.spack.outputs.cherrypicks_files }} | |
EICSPACK_ORGREPO=${{ steps.eic-spack.outputs.orgrepo }} | |
EICSPACK_VERSION=${{ steps.eic-spack.outputs.version }} | |
EICSPACK_CHERRYPICKS=${{ steps.eic-spack.outputs.cherrypicks }} | |
cache-from: type=gha,scope=${{ github.workflow }} | |
cache-to: type=gha,mode=max,scope=${{ github.workflow }} |