Skip to content

Add checkout phase

Add checkout phase #13

name: Container Upload Workflow
on:
workflow_call:
inputs:
platform:
required: true
type: string
jobs:
required: true
type: string # Expecting a JSON string representing the jobs array
jobs:
upload-jobs:
name: Container Upload for ${{ inputs.platform }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
job: ${{ fromJson(inputs.jobs) }} # Matrix based on the jobs input
permissions:
contents: read
packages: write
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
- name: Install Nix with good defaults
uses: cachix/install-nix-action@v20
with:
extra_nix_config: |
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= loony-tools:pr9m4BkM/5/eSTZlkQyRt57Jz7OMBxNSUiMC4FkcNfk=
substituters = https://cache.iog.io/ https://cache.zw3rk.com/ https://cache.nixos.org/
nix_path: nixpkgs=channel:nixos-unstable
- name: Checkout repository
uses: actions/checkout@v4
- name: Log in to the Container registry
uses: docker/[email protected]
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Upload Container for Job ${{ matrix.job }}
- name: Compute and upload closure and developer environment to ghcr.io
env:
DEV_SHELL: ${{ matrix.job.config }}
SHELL_NIX_PATH: ${{ matrix.job.build_path }}
NIX_STORE_SECRET_KEY: ${{ secrets.SECRET_KEY }}
run: ./extra/ghcr-upload.sh