diff --git a/.github/workflows/publish-server-image.yml b/.github/workflows/publish-server-image.yml index 791958c..abd0398 100644 --- a/.github/workflows/publish-server-image.yml +++ b/.github/workflows/publish-server-image.yml @@ -263,8 +263,8 @@ jobs: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | set -euo pipefail - owner_type="$(gh api "repos/${GITHUB_REPOSITORY}" --jq -r '.owner.type')" - private="$(gh api "repos/${GITHUB_REPOSITORY}" --jq -r '.private')" + owner_type="$(gh api "repos/${GITHUB_REPOSITORY}" --jq '.owner.type')" + private="$(gh api "repos/${GITHUB_REPOSITORY}" --jq '.private')" if [[ "$owner_type" == "User" && "$private" == "true" ]]; then echo "enabled=false" >> "$GITHUB_OUTPUT" echo "Skipping registry attestation: unavailable for private repositories on personal accounts." diff --git a/infra/updater/src/publish-workflow.test.ts b/infra/updater/src/publish-workflow.test.ts index 4c9e292..9c80853 100644 --- a/infra/updater/src/publish-workflow.test.ts +++ b/infra/updater/src/publish-workflow.test.ts @@ -43,6 +43,8 @@ describe("server image publish workflow", () => { expect(workflowText).toContain("actions/attest-build-provenance@"); expect(workflowText).not.toContain("github.repository_owner_type"); expect(workflowText).toContain(`gh api "repos/\${GITHUB_REPOSITORY}"`); + // `gh api --jq` already prints raw strings; `--jq -r` takes `-r` as the filter and fails. + expect(workflowText).not.toContain("--jq -r"); expect(workflowText).toContain(".owner.type"); expect(workflowText).toContain("if: steps.attestation.outputs.enabled == 'true'"); expect(workflowText).toContain('[[ "$owner_type" == "User" && "$private" == "true" ]]');