Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
de98a9952e
|
||
|
|
3e69d102dd
|
||
|
|
0387b2592a | ||
|
|
057731ae62
|
||
|
|
529daa4c75 | ||
|
|
38946e8def
|
||
|
|
893323a89b |
@@ -17,10 +17,14 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
publish-images:
|
publish-images:
|
||||||
name: publish-images
|
name: publish-images
|
||||||
runs-on: [self-hosted, pod]
|
runs-on: self-hosted
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
container:
|
||||||
|
image: docker.io/gitea/runner-images:ubuntu-latest@sha256:fd911d7417bfbf0f454530e447da95b58001e1df41bbc5e1a8dd35d432575aae
|
||||||
|
volumes:
|
||||||
|
- /run/spire/agent-sockets:/run/spire/agent-sockets:ro
|
||||||
env:
|
env:
|
||||||
PUSH_REGISTRY: zot-push.ad.ddupan.top
|
PUSH_REGISTRY: zot-push.ad.ddupan.top
|
||||||
PULL_REGISTRY: zot.ad.ddupan.top
|
PULL_REGISTRY: zot.ad.ddupan.top
|
||||||
@@ -41,23 +45,18 @@ jobs:
|
|||||||
apt-get install --yes --no-install-recommends shellcheck
|
apt-get install --yes --no-install-recommends shellcheck
|
||||||
shellcheck scripts/*
|
shellcheck scripts/*
|
||||||
|
|
||||||
- name: Start Docker
|
- name: Fetch pinned SPIRE CLI
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
dockerd >/tmp/dockerd.log 2>&1 &
|
archive=/tmp/spire.tar.gz
|
||||||
for _ in $(seq 1 60); do
|
curl --fail --location --silent --show-error \
|
||||||
if docker info >/dev/null 2>&1; then
|
--output "$archive" \
|
||||||
exit 0
|
https://github.com/spiffe/spire/releases/download/v1.15.3/spire-1.15.3-linux-amd64-musl.tar.gz
|
||||||
fi
|
printf '%s %s\n' \
|
||||||
if ! kill -0 "$!" 2>/dev/null; then
|
ca1a4d1155317bdd2afc7f36663828a10410c7c840e54725b90b4064b0a301c7 \
|
||||||
cat /tmp/dockerd.log >&2
|
"$archive" | sha256sum --check --status
|
||||||
exit 1
|
tar -xzf "$archive" -C /tmp spire-1.15.3/bin/spire-agent
|
||||||
fi
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
cat /tmp/dockerd.log >&2
|
|
||||||
exit 1
|
|
||||||
|
|
||||||
- name: Build and publish
|
- name: Build and publish
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -70,13 +69,13 @@ jobs:
|
|||||||
docker_config=$(mktemp -d)
|
docker_config=$(mktemp -d)
|
||||||
jwt_file=$(mktemp)
|
jwt_file=$(mktemp)
|
||||||
cleanup() {
|
cleanup() {
|
||||||
rm -rf -- "$docker_config" "$jwt_file"
|
|
||||||
docker buildx rm ci-builder >/dev/null 2>&1 || true
|
docker buildx rm ci-builder >/dev/null 2>&1 || true
|
||||||
|
rm -rf -- "$docker_config" "$jwt_file"
|
||||||
}
|
}
|
||||||
trap cleanup EXIT
|
trap cleanup EXIT
|
||||||
export DOCKER_CONFIG="$docker_config"
|
export DOCKER_CONFIG="$docker_config"
|
||||||
|
|
||||||
/opt/spire/bin/spire-agent api fetch jwt \
|
/tmp/spire-1.15.3/bin/spire-agent api fetch jwt \
|
||||||
-audience zot \
|
-audience zot \
|
||||||
-socketPath "$SPIRE_AGENT_SOCKET" \
|
-socketPath "$SPIRE_AGENT_SOCKET" \
|
||||||
-output json >"$jwt_file"
|
-output json >"$jwt_file"
|
||||||
@@ -84,7 +83,10 @@ jobs:
|
|||||||
jq -er '.[0].svids[0].svid' "$jwt_file" | \
|
jq -er '.[0].svids[0].svid' "$jwt_file" | \
|
||||||
docker login "$PUSH_REGISTRY" --username zot --password-stdin
|
docker login "$PUSH_REGISTRY" --username zot --password-stdin
|
||||||
|
|
||||||
docker buildx create --name ci-builder --driver docker-container --use
|
docker buildx create \
|
||||||
|
--name ci-builder \
|
||||||
|
--driver docker-container \
|
||||||
|
--use
|
||||||
|
|
||||||
publish() {
|
publish() {
|
||||||
local repository=$1
|
local repository=$1
|
||||||
|
|||||||
Reference in New Issue
Block a user