Skip to content

Commit c1b315b

Browse files
authored
ci: start podman.socket and pass it to trivy to avoid unnecessary pulls (#605)
This does not help appreciably with the scan runtime, but still it's an improvement in efficiency.
1 parent d7b7438 commit c1b315b

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

.github/workflows/build-notebooks-TEMPLATE.yaml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,14 @@ jobs:
103103
podman system reset --force
104104
mkdir -p $HOME/.local/share/containers/storage/tmp
105105
106+
# start systemd user service
107+
# since `brew services start podman` is buggy, let's do our own brew-compatible service
108+
mkdir -p "${HOME}/.config/systemd/user/"
109+
cp ci/cached-builds/homebrew.podman.service "${HOME}/.config/systemd/user/homebrew.podman.service"
110+
systemctl --user daemon-reload
111+
systemctl --user start homebrew.podman.service
112+
echo "PODMAN_SOCK=/run/user/${UID}/podman/podman.sock" >> $GITHUB_ENV
113+
106114
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#push
107115
- name: "push|schedule: make ${{ inputs.target }}"
108116
run: "make ${{ inputs.target }}"
@@ -115,7 +123,7 @@ jobs:
115123
- name: "schedule: run Trivy vulnerability scanner"
116124
if: "${{ fromJson(inputs.github).event_name == 'schedule' }}"
117125
run: |
118-
TRIVY_VERSION=0.52.2
126+
TRIVY_VERSION=0.53.0
119127
REPORT_FOLDER=${{ github.workspace }}/report
120128
REPORT_FILE=trivy-report.md
121129
REPORT_TEMPLATE=trivy-markdown.tpl
@@ -126,10 +134,15 @@ jobs:
126134
IMAGE_NAME=ghcr.io/${{ github.repository }}/workbench-images:${{ inputs.target }}-${{ github.ref_name }}_${{ github.sha }}
127135
echo "Scanning $IMAGE_NAME"
128136
137+
# have trivy access podman socket,
138+
# https://github.com/aquasecurity/trivy/issues/580#issuecomment-666423279
129139
podman run --rm \
130-
-v $REPORT_FOLDER:/report \
140+
-v ${PODMAN_SOCK}:/var/run/podman/podman.sock \
141+
-v ${REPORT_FOLDER}:/report \
131142
docker.io/aquasec/trivy:$TRIVY_VERSION \
132143
image \
144+
--image-src podman \
145+
--podman-host /var/run/podman/podman.sock \
133146
--scanners vuln,secret \
134147
--exit-code 0 --timeout 30m \
135148
--severity CRITICAL,HIGH \
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[Unit]
2+
Description=Homebrew generated unit for podman
3+
4+
[Install]
5+
WantedBy=default.target
6+
7+
[Service]
8+
Type=simple
9+
ExecStart=/home/linuxbrew/.linuxbrew/opt/podman/bin/podman system service --time=0
10+
WorkingDirectory=/home/linuxbrew/.linuxbrew
11+
Environment="PATH=/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/usr/bin:/bin:/usr/sbin:/sbin"

0 commit comments

Comments
 (0)