diff --git a/.github/workflows/vib-build.yml b/.github/workflows/vib-build.yml index 9258ca9..7ca5176 100644 --- a/.github/workflows/vib-build.yml +++ b/.github/workflows/vib-build.yml @@ -12,18 +12,30 @@ on: env: BUILDX_NO_DEFAULT_ATTESTATIONS: 1 -permissions: - contents: write # Allow actions to create release - packages: write # Allow pushing images to GHCR - jobs: + verify-image: + runs-on: ubuntu-latest + + steps: + - name: Verify Base Image Integrity + run: + gh attestation verify oci://ghcr.io/vanilla-os/pico:main --owner Vanilla-OS + env: + GH_TOKEN: ${{ github.token }} + build: runs-on: ubuntu-latest + needs: verify-image + permissions: + contents: write # Allow actions to create release + packages: write # Allow pushing images to GHCR + attestations: write # To create and write attestations + id-token: write # Additional permissions for the persistence of the attestations steps: - uses: actions/checkout@v4 - - uses: vanilla-os/vib-gh-action@v0.7.0 + - uses: vanilla-os/vib-gh-action@v0.7.2 - uses: actions/upload-artifact@v4 with: @@ -34,14 +46,14 @@ jobs: run: | REPO_OWNER_LOWERCASE="$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]')" echo "REPO_OWNER_LOWERCASE=$REPO_OWNER_LOWERCASE" >> "$GITHUB_ENV" - echo "IMAGE_NAME=ghcr.io/$REPO_OWNER_LOWERCASE/vso" >> "$GITHUB_ENV" + echo "IMAGE_URL=ghcr.io/$REPO_OWNER_LOWERCASE/vso" >> "$GITHUB_ENV" - name: Docker meta id: docker_meta uses: docker/metadata-action@v5 with: images: | - ${{ env. IMAGE_NAME }} + ${{ env. IMAGE_URL }} tags: | type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} @@ -73,3 +85,12 @@ jobs: cache-to: type=gha,mode=max platforms: linux/amd64 provenance: false + + - name: Attest pushed image + uses: actions/attest-build-provenance@v1 + id: attest + if: ${{ github.event_name != 'pull_request' }} + with: + subject-name: ${{ env.IMAGE_URL }} + subject-digest: ${{ steps.push.outputs.digest }} + push-to-registry: false diff --git a/recipe.yml b/recipe.yml index ea4d906..9eb9899 100644 --- a/recipe.yml +++ b/recipe.yml @@ -109,9 +109,9 @@ stages: url: https://github.com/Vanilla-OS/vanilla-tools/releases/download/continuous/vanilla-tools.tar.gz commands: - mkdir -p /usr/bin - - cp /sources/vanilla-tools/nrun /usr/bin/nrun + - cp /sources/vanilla-tools/vanilla-tools/nrun /usr/bin/nrun - chmod +x /usr/bin/nrun - - cp /sources/vanilla-tools/cur-gpu /usr/bin/cur-gpu + - cp /sources/vanilla-tools/vanilla-tools/cur-gpu /usr/bin/cur-gpu - chmod +x /usr/bin/cur-gpu - name: host-aliases