nixos-config/.github/workflows/build-devcontainers.yml
Gabriel Arazas 9f2e62f476
Some checks are pending
Build devcontainers / build-devcontainers (push) Waiting to run
Cache outputs / build-custom-packages (push) Waiting to run
Check flake outputs / check-outputs (push) Waiting to run
Publish every Git push to master to FlakeHub / flakehub-publish (push) Waiting to run
Build personalized bootstrap ISO / build-iso (x86_64-linux) (push) Waiting to run
Build project site / build (push) Waiting to run
Build project site / deploy (push) Blocked by required conditions
ci: update devcontainers workflow
2025-03-14 17:29:10 +08:00

31 lines
1.0 KiB
YAML

name: "Build devcontainers"
on:
push:
branches:
- master
- develop
jobs:
build-devcontainers:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@v16
- uses: DeterminateSystems/magic-nix-cache-action@v8
with:
extra-conf: |
keep-going = true
- name: Build
run: |
nix build -f ./devcontainers --impure --print-out-paths --no-link > build_paths
env:
NIXPKGS_ALLOW_UNFREE: "1"
- name: Deploy devcontainers to GitHub registry
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | skopeo login ghcr.io -u ${{ github.actor }} --password-stdin
for image_archive in $(< build_paths); do
CONTAINER_TAG=$(echo $image_archive | awk 'match($0, /docker-image-(\S+).tar.gz/, arr) {print arr[1]}')
skopeo copy \
"docker-archive:${image_archive}" "docker://ghcr.io/${{ github.repository }}:${CONTAINER_TAG}"
done