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 - name: Build run: | nix build -f ./devcontainers --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 }}" done