Skip to content

Commit c7d9808

Browse files
authored
Merge branch 'main' into openssf
2 parents 441d764 + 9834a8e commit c7d9808

2 files changed

Lines changed: 40 additions & 18 deletions

File tree

.github/workflows/reusable-build.yml

Lines changed: 39 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,15 @@ jobs:
9999
OCI_DIR: "/tmp/image-oci-dir"
100100
run: |
101101
mkdir -p ${OCI_DIR}/rootfs
102-
sudo podman container create --replace --name bluefin-tmp "localhost/${IMAGE}:${STREAM_NAME}"
103-
sudo podman export bluefin-tmp | sudo tar -C ${OCI_DIR}/rootfs -xf -
104-
sudo podman container rm bluefin-tmp
102+
sudo podman container create --replace --name "${IMAGE}" "localhost/${IMAGE}:${STREAM_NAME}"
103+
sudo podman export "${IMAGE}" | sudo tar -C ${OCI_DIR}/rootfs -xf -
104+
sudo podman container rm "${IMAGE}"
105105
106-
OUTPUT_PATH="$(mktemp -d)/sbom.json"
106+
SBOM="$(mktemp -d)/sbom.json"
107107
export SYFT_PARALLELISM=$(($(nproc)*2))
108-
sudo $SYFT_CMD --source-name "${IMAGE}"-"${STREAM_NAME}" ${OCI_DIR} -o syft-json=${OUTPUT_PATH}
109-
du -sh ${OUTPUT_PATH}
110-
echo "OUTPUT_PATH=${OUTPUT_PATH}" >> $GITHUB_OUTPUT
108+
sudo $SYFT_CMD --source-name "${IMAGE}"-"${STREAM_NAME}" ${OCI_DIR} -o syft-json=${SBOM}
109+
du -sh ${SBOM}
110+
echo "SBOM=${SBOM}" >> $GITHUB_OUTPUT
111111
sudo rm -rf ${OCI_DIR}
112112
113113
- name: Rechunk Image
@@ -219,20 +219,44 @@ jobs:
219219
COSIGN_EXPERIMENTAL: false
220220
COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }}
221221

222-
- name: Add SBOM Attestation
222+
- name: Install ORAS
223223
if: github.event_name != 'pull_request'
224+
uses: oras-project/setup-oras@22ce207df3b08e061f537244349aac6ae1d214f6 # v1.2.4
225+
226+
- name: Login to GitHub Container Registry with ORAS
227+
if: github.event_name != 'pull_request'
228+
run: |
229+
echo ${{ secrets.GITHUB_TOKEN }} | oras login ghcr.io -u ${{ github.actor }} --password-stdin
230+
231+
- name: Upload SBOM
232+
if: github.event_name != 'pull_request'
233+
id: upload-sbom
224234
env:
225235
IMAGE: ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}
226236
DIGEST: ${{ steps.push.outputs.outputs && fromJSON(steps.push.outputs.outputs).digest }}
237+
SBOM: ${{ steps.generate-sbom.outputs.SBOM }}
238+
run: |
239+
cd "$(dirname "${SBOM}")"
240+
oras attach \
241+
--artifact-type application/vnd.spdx+json \
242+
--annotation filename=$(basename "$SBOM") \
243+
"${IMAGE}@${DIGEST}" \
244+
"$(basename ${SBOM})"
245+
246+
sbom_digest=$(oras discover --format json "${IMAGE}@${DIGEST}" | jq -r '.referrers[] | select(.artifactType == "application/vnd.spdx+json") | .digest')
247+
248+
echo "sbom_digest=${sbom_digest}" >> $GITHUB_OUTPUT
249+
250+
- name: Sign SBOM OCI Artifact
251+
if: github.event_name != 'pull_request'
252+
env:
253+
COSIGN_EXPERIMENTAL: false
227254
COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }}
228-
SBOM_OUTPUT: ${{ steps.generate-sbom.outputs.OUTPUT_PATH }}
255+
LOWERCASE: ${{ steps.registry_case.outputs.lowercase }}
256+
IMAGE_NAME: ${{ env.IMAGE_NAME }}
257+
SBOM_DIGEST: ${{ steps.upload-sbom.outputs.sbom_digest }}
229258
run: |
230-
cd "$(dirname "$SBOM_OUTPUT")"
231-
cosign attest -y \
232-
--predicate ./sbom.json \
233-
--type spdxjson \
234-
--key env://COSIGN_PRIVATE_KEY \
235-
"${IMAGE}@${DIGEST}"
259+
cosign sign -y --key env://COSIGN_PRIVATE_KEY ${LOWERCASE}/${IMAGE_NAME}@${SBOM_DIGEST}
236260
237261
check:
238262
name: Check all ${{ matrix.stream_name }} builds successful

build_files/base/03-install-kernel-akmods.sh

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,7 @@ if [[ "${IMAGE_NAME}" =~ nvidia ]]; then
8080
fi
8181

8282
# Install Nvidia RPMs
83-
ghcurl "https://raw.githubusercontent.com/ublue-os/main/main/build_files/nvidia-install.sh" -o /tmp/nvidia-install.sh
84-
chmod +x /tmp/nvidia-install.sh
85-
IMAGE_NAME="${BASE_IMAGE_NAME}" RPMFUSION_MIRROR="" /tmp/nvidia-install.sh
83+
IMAGE_NAME="${BASE_IMAGE_NAME}" AKMODNV_PATH="/tmp/akmods-rpms" MULTILIB=0 /tmp/akmods-rpms/ublue-os/nvidia-install.sh
8684
rm -f /usr/share/vulkan/icd.d/nouveau_icd.*.json
8785
ln -sf libnvidia-ml.so.1 /usr/lib64/libnvidia-ml.so
8886
tee /usr/lib/bootc/kargs.d/00-nvidia.toml <<EOF

0 commit comments

Comments
 (0)