Push Image to ghcr.io #80
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: Push Image to ghcr.io | |
on: | |
release: | |
types: | |
- published | |
push: | |
tags: | |
- '**' | |
workflow_dispatch: {} | |
env: | |
REGISTRY: ghcr.io | |
jobs: | |
build: | |
name: "Upload to ghcr.io" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install Nix with good defaults | |
uses: input-output-hk/install-nix-action@v21 | |
with: | |
extra_nix_config: | | |
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= | |
substituters = https://cache.iog.io/ https://cache.nixos.org/ | |
experimental-features = nix-command flakes fetch-closure | |
allow-import-from-derivation = true | |
accept-flake-config = true | |
nix_path: nixpkgs=channel:nixos-unstable | |
# cardano-parts requires nix >= 2.17.0; We can remove this after the next release | |
# to install-nix-action (v23) | |
install_url: https://releases.nixos.org/nix/nix-2.17.0/install | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Log in to ghcr.io | |
uses: docker/login-action@v2.1.0 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Set environment variables | |
run: | | |
# Downcase the package repository, because docker reference | |
# are required to be lower case | |
REPO_OWNER="$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]')" | |
IMAGE_TAG="$(echo $GITHUB_REF_NAME | tr '/' '_')" | |
echo "REPO_OWNER=${REPO_OWNER}" >> "$GITHUB_ENV" | |
echo "IMAGE_TAG=${IMAGE_TAG}" >> "$GITHUB_ENV" | |
- name: Upload ${{ github.actor }}/cardano-db-sync | |
run: | | |
# Download the image from the nix binary cachhe | |
nix build --builders "" --max-jobs 0 .#cardano-db-sync-docker | |
# Push the image | |
skopeo copy \ | |
docker-archive:./result \ | |
docker://ghcr.io/${REPO_OWNER}/cardano-db-sync:$IMAGE_TAG | |
# Also tag it as latest | |
skopeo copy \ | |
docker-archive:./result \ | |
docker://ghcr.io/${REPO_OWNER}/cardano-db-sync:latest | |
- name: Upload ${{ github.actor }}/cardano-smash-server | |
run: | | |
# Download the image from the nix binary cachhe | |
nix build --builders "" --max-jobs 0 .#cardano-smash-server-docker | |
# Push the image | |
skopeo copy \ | |
docker-archive:./result \ | |
docker://ghcr.io/${REPO_OWNER}/cardano-smash-server:$IMAGE_TAG | |
# Also tag it as latest | |
skopeo copy \ | |
docker-archive:./result \ | |
docker://ghcr.io/${REPO_OWNER}/cardano-smash-server:latest |