Skip to content

Commit aa77139

Browse files
authored
Added a github action to have an example available (#37)
1 parent c604db7 commit aa77139

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
env:
2+
SYSDIG_SECURE_ENDPOINT: "https://secure.sysdig.com"
3+
REGISTRY_HOST: "ghcr.io"
4+
IMAGE_NAME: "testactions"
5+
IMAGE_TAG: "my-tag"
6+
DOCKERFILE_CONTEXT: "github/new-scan-engine/"
7+
8+
name: Container build, scan and push
9+
10+
on:
11+
schedule:
12+
- cron: "0 5 * * *"
13+
14+
jobs:
15+
build-scan-and-push:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v2
20+
21+
- name: Set up Docker Buildx
22+
uses: docker/setup-buildx-action@v2
23+
24+
- name: Build and save
25+
uses: docker/build-push-action@v3
26+
with:
27+
context: ${{ env.DOCKERFILE_CONTEXT }}
28+
tags: ${{ env.REGISTRY_HOST }}/${{ github.actor }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}
29+
load: true
30+
31+
- name: Setup cache
32+
uses: actions/cache@v3
33+
with:
34+
path: cache
35+
key: ${{ runner.os }}-cache-${{ hashFiles('**/sysdig-cli-scanner', '**/latest_version.txt', '**/db/main.db.meta.json', '**/scanner-cache/inlineScannerCache.db') }}
36+
restore-keys: ${{ runner.os }}-cache-
37+
38+
- name: Download sysdig-cli-scanner if needed
39+
run: |
40+
curl -sLO https://download.sysdig.com/scanning/sysdig-cli-scanner/latest_version.txt
41+
mkdir -p ${GITHUB_WORKSPACE}/cache/db/
42+
if [ ! -f ${GITHUB_WORKSPACE}/cache/latest_version.txt ] || [ $(cat ./latest_version.txt) != $(cat ${GITHUB_WORKSPACE}/cache/latest_version.txt) ]; then
43+
cp ./latest_version.txt ${GITHUB_WORKSPACE}/cache/latest_version.txt
44+
curl -sL -o ${GITHUB_WORKSPACE}/cache/sysdig-cli-scanner "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/$(cat ${GITHUB_WORKSPACE}/cache/latest_version.txt)/linux/amd64/sysdig-cli-scanner"
45+
chmod +x ${GITHUB_WORKSPACE}/cache/sysdig-cli-scanner
46+
else
47+
echo "sysdig-cli-scanner latest version already downloaded"
48+
fi
49+
50+
- name: Scan the image using sysdig-cli-scanner
51+
env:
52+
SECURE_API_TOKEN: ${{ secrets.SECURE_API_TOKEN }}
53+
run: |
54+
${GITHUB_WORKSPACE}/cache/sysdig-cli-scanner \
55+
--apiurl ${SYSDIG_SECURE_ENDPOINT} \
56+
docker://${REGISTRY_HOST}/${{github.actor}}/${IMAGE_NAME}:${IMAGE_TAG} \
57+
--console-log \
58+
--dbpath=${GITHUB_WORKSPACE}/cache/db/ \
59+
--cachepath=${GITHUB_WORKSPACE}/cache/scanner-cache/
60+
61+
- name: Login to the registry
62+
uses: docker/login-action@v2
63+
with:
64+
registry: ${{ env.REGISTRY_HOST }}
65+
username: ${{ github.actor }}
66+
password: ${{ secrets.GITHUB_TOKEN }}
67+
68+
- name: Push
69+
uses: docker/build-push-action@v3
70+
with:
71+
context: ${{ env.DOCKERFILE_CONTEXT }}
72+
push: true
73+
tags: ${{ env.REGISTRY_HOST }}/${{ github.actor }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}

0 commit comments

Comments
 (0)