Skip to content

Commit e498bbf

Browse files
committed
troubleshooting attest
1 parent a2e39ec commit e498bbf

1 file changed

Lines changed: 28 additions & 8 deletions

File tree

.github/workflows/attest.yml

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -84,18 +84,24 @@ jobs:
8484
echo "Using provided artifact name: ${{ inputs.artifact-name }}"
8585
echo "Encoded: $API_ARTIFACT_NAME"
8686
fi
87+
echo "Resolved artifact name for attestation: ${{ inputs.artifact-name }}"
8788
8889
- name: Get and Attest SBOM
8990
uses: docker://ghcr.io/l3montree-dev/devguard/scanner:main
9091
with:
9192
args: |
9293
sh -c "
9394
slug=$(devguard-scanner slug ${{ github.ref_name }}) &&
95+
artifact_name="$ARTIFACT_NAME" &&
96+
echo 'Fetching SBOM for artifact:' '${{ env.API_ARTIFACT_NAME }}' &&
9497
devguard-scanner curl '${{ inputs.api-url }}/api/v1/organizations/${{ inputs.asset-name }}/refs/'$slug'/artifacts/${{ env.API_ARTIFACT_NAME }}/sbom.json/' --token='${{ secrets.devguard-token }}' > /tmp/sbom.json &&
98+
echo 'SBOM downloaded to /tmp/sbom.json' &&
9599
if [ -f image-digest.txt ]; then
96-
devguard-scanner attest -u ${{ github.actor }} -r ghcr.io -p ${{ secrets.GITHUB_TOKEN }} /tmp/sbom.json --predicateType='https://cyclonedx.org/bom' \"$(cat image-tag.txt)@$(cat image-digest.txt)\" --token='${{ secrets.devguard-token }}' --apiUrl=${{ inputs.api-url }} --assetName=${{ inputs.asset-name }} --ref=${{ github.ref_name }} --artifactName="${{ env.ARTIFACT_NAME }}"
100+
echo 'Attesting SBOM with image digest present' &&
101+
devguard-scanner attest -u ${{ github.actor }} -r ghcr.io -p ${{ secrets.GITHUB_TOKEN }} /tmp/sbom.json --predicateType='https://cyclonedx.org/bom' \"$(cat image-tag.txt)@$(cat image-digest.txt)\" --token='${{ secrets.devguard-token }}' --apiUrl=${{ inputs.api-url }} --assetName=${{ inputs.asset-name }} --ref=${{ github.ref_name }} --artifactName="$artifact_name"
97102
else
98-
devguard-scanner attest /tmp/sbom.json --predicateType='https://cyclonedx.org/bom' --token='${{ secrets.devguard-token }}' --apiUrl=${{ inputs.api-url }} --assetName=${{ inputs.asset-name }} --ref=${{ github.ref_name }} --artifactName="${{ env.ARTIFACT_NAME }}"
103+
echo 'Attesting SBOM without image digest' &&
104+
devguard-scanner attest /tmp/sbom.json --predicateType='https://cyclonedx.org/bom' --token='${{ secrets.devguard-token }}' --apiUrl=${{ inputs.api-url }} --assetName=${{ inputs.asset-name }} --ref=${{ github.ref_name }} --artifactName="$artifact_name"
99105
fi
100106
"
101107
env:
@@ -107,11 +113,16 @@ jobs:
107113
args: |
108114
sh -c "
109115
slug=$(devguard-scanner slug ${{ github.ref_name }}) &&
116+
artifact_name="$ARTIFACT_NAME" &&
117+
echo 'Fetching VeX for artifact:' '${{ env.API_ARTIFACT_NAME }}' &&
110118
devguard-scanner curl '${{ inputs.api-url }}/api/v1/organizations/${{ inputs.asset-name }}/refs/'$slug'/artifacts/${{ env.API_ARTIFACT_NAME }}/vex.json/' --token='${{ secrets.devguard-token }}' > /tmp/vex.json &&
119+
echo 'VeX downloaded to /tmp/vex.json' &&
111120
if [ -f image-digest.txt ]; then
112-
devguard-scanner attest -u ${{ github.actor }} -r ghcr.io -p ${{ secrets.GITHUB_TOKEN }} /tmp/vex.json \"$(cat image-tag.txt)@$(cat image-digest.txt)\" --token='${{ secrets.devguard-token }}' --predicateType='https://cyclonedx.org/vex' --apiUrl=${{ inputs.api-url }} --assetName=${{ inputs.asset-name }} --ref=${{ github.ref_name }} --artifactName="${{ env.ARTIFACT_NAME }}"
121+
echo 'Attesting VeX with image digest present' &&
122+
devguard-scanner attest -u ${{ github.actor }} -r ghcr.io -p ${{ secrets.GITHUB_TOKEN }} /tmp/vex.json \"$(cat image-tag.txt)@$(cat image-digest.txt)\" --token='${{ secrets.devguard-token }}' --predicateType='https://cyclonedx.org/vex' --apiUrl=${{ inputs.api-url }} --assetName=${{ inputs.asset-name }} --ref=${{ github.ref_name }} --artifactName="$artifact_name"
113123
else
114-
devguard-scanner attest /tmp/vex.json --predicateType='https://cyclonedx.org/vex' --token='${{ secrets.devguard-token }}' --apiUrl=${{ inputs.api-url }} --assetName=${{ inputs.asset-name }} --ref=${{ github.ref_name }} --artifactName="${{ env.ARTIFACT_NAME }}"
124+
echo 'Attesting VeX without image digest' &&
125+
devguard-scanner attest /tmp/vex.json --predicateType='https://cyclonedx.org/vex' --token='${{ secrets.devguard-token }}' --apiUrl=${{ inputs.api-url }} --assetName=${{ inputs.asset-name }} --ref=${{ github.ref_name }} --artifactName="$artifact_name"
115126
fi
116127
"
117128
env:
@@ -123,11 +134,16 @@ jobs:
123134
args: |
124135
sh -c "
125136
slug=$(devguard-scanner slug ${{ github.ref_name }}) &&
137+
artifact_name="$ARTIFACT_NAME" &&
138+
echo 'Fetching SAST results for artifact:' '${{ env.ARTIFACT_NAME }}' &&
126139
devguard-scanner curl '${{ inputs.api-url }}/api/v1/organizations/${{ inputs.asset-name }}/refs/'$slug'/sarif.json' --token='${{ secrets.devguard-token }}' > /tmp/sarif.json &&
140+
echo 'SAST results downloaded to /tmp/sarif.json' &&
127141
if [ -f image-digest.txt ]; then
128-
devguard-scanner attest -u ${{ github.actor }} -r ghcr.io -p ${{ secrets.GITHUB_TOKEN }} /tmp/sarif.json \"$(cat image-tag.txt)@$(cat image-digest.txt)\" --predicateType='https://www.schemastore.org/schemas/json/sarif-2.1.0.json' --token='${{ secrets.devguard-token }}' --apiUrl=${{ inputs.api-url }} --assetName=${{ inputs.asset-name }} --ref=${{ github.ref_name }} --artifactName="${{ env.ARTIFACT_NAME }}"
142+
echo 'Attesting SAST results with image digest present' &&
143+
devguard-scanner attest -u ${{ github.actor }} -r ghcr.io -p ${{ secrets.GITHUB_TOKEN }} /tmp/sarif.json \"$(cat image-tag.txt)@$(cat image-digest.txt)\" --predicateType='https://www.schemastore.org/schemas/json/sarif-2.1.0.json' --token='${{ secrets.devguard-token }}' --apiUrl=${{ inputs.api-url }} --assetName=${{ inputs.asset-name }} --ref=${{ github.ref_name }} --artifactName="$artifact_name"
129144
else
130-
devguard-scanner attest /tmp/sarif.json --predicateType='https://www.schemastore.org/schemas/json/sarif-2.1.0.json' --token='${{ secrets.devguard-token }}' --apiUrl=${{ inputs.api-url }} --assetName=${{ inputs.asset-name }} --ref=${{ github.ref_name }} --artifactName="${{ env.ARTIFACT_NAME }}"
145+
echo 'Attesting SAST results without image digest' &&
146+
devguard-scanner attest /tmp/sarif.json --predicateType='https://www.schemastore.org/schemas/json/sarif-2.1.0.json' --token='${{ secrets.devguard-token }}' --apiUrl=${{ inputs.api-url }} --assetName=${{ inputs.asset-name }} --ref=${{ github.ref_name }} --artifactName="$artifact_name"
131147
fi
132148
"
133149
env:
@@ -142,10 +158,14 @@ jobs:
142158
with:
143159
args: |
144160
sh -c "
161+
artifact_name="$ARTIFACT_NAME" &&
162+
echo 'Building provenance attestation for artifact:' '${{ env.ARTIFACT_NAME }}' &&
145163
if [ -f image-digest.txt ]; then
146-
devguard-scanner attest -u ${{ github.actor }} -r ghcr.io -p ${{ secrets.GITHUB_TOKEN }} build.provenance.json \"$(cat image-tag.txt)@$(cat image-digest.txt)\" --predicateType='https://slsa.dev/provenance/v1' --token='${{ secrets.devguard-token }}' --apiUrl=${{ inputs.api-url }} --assetName=${{ inputs.asset-name }} --ref=${{ github.ref_name }} --artifactName="${{ env.ARTIFACT_NAME }}"
164+
echo 'Attesting provenance with image digest present' &&
165+
devguard-scanner attest -u ${{ github.actor }} -r ghcr.io -p ${{ secrets.GITHUB_TOKEN }} build.provenance.json \"$(cat image-tag.txt)@$(cat image-digest.txt)\" --predicateType='https://slsa.dev/provenance/v1' --token='${{ secrets.devguard-token }}' --apiUrl=${{ inputs.api-url }} --assetName=${{ inputs.asset-name }} --ref=${{ github.ref_name }} --artifactName="$artifact_name"
147166
else
148-
devguard-scanner attest build.provenance.json --token='${{ secrets.devguard-token }}' --apiUrl=${{ inputs.api-url }} --predicateType='https://slsa.dev/provenance/v1' --assetName=${{ inputs.asset-name }} --ref=${{ github.ref_name }} --artifactName="${{ env.ARTIFACT_NAME }}"
167+
echo 'Attesting provenance without image digest' &&
168+
devguard-scanner attest build.provenance.json --token='${{ secrets.devguard-token }}' --apiUrl=${{ inputs.api-url }} --predicateType='https://slsa.dev/provenance/v1' --assetName=${{ inputs.asset-name }} --ref=${{ github.ref_name }} --artifactName="$artifact_name"
149169
fi
150170
"
151171
env:

0 commit comments

Comments
 (0)