42 lines
1.2 KiB
YAML
42 lines
1.2 KiB
YAML
name: SUSE VEX Mirror
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: "49 */6 * * *"
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
concurrency:
|
|
group: vuln-suse-vex-sync
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
mirror:
|
|
runs-on: vuln-runner
|
|
timeout-minutes: 360
|
|
steps:
|
|
- name: Sync SUSE VEX using persistent Git checkout
|
|
env:
|
|
GITEA_JOB_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
|
CACHE_ROOT: /var/lib/act_runner/cache/vuln-suse-vex
|
|
REPO_URL: https://git.apex-project.de/VULN/vuln-suse-vex.git
|
|
run: |
|
|
set -Eeuo pipefail
|
|
umask 077
|
|
: "${GITEA_JOB_TOKEN:?Missing GITEA_TOKEN}"
|
|
mkdir -p "$CACHE_ROOT"
|
|
exec 9>"$CACHE_ROOT/.bootstrap.lock"
|
|
flock -w 300 9
|
|
AUTH_HEADER="Authorization: Basic $(printf 'oauth2:%s' "$GITEA_JOB_TOKEN" | base64 -w0)"
|
|
export GIT_CONFIG_COUNT=1
|
|
export GIT_CONFIG_KEY_0=http.extraheader
|
|
export GIT_CONFIG_VALUE_0="$AUTH_HEADER"
|
|
export GIT_TERMINAL_PROMPT=0
|
|
if [ ! -d "$CACHE_ROOT/repo/.git" ]; then
|
|
git clone --depth 1 --branch main "$REPO_URL" "$CACHE_ROOT/repo"
|
|
fi
|
|
unset AUTH_HEADER
|
|
bash "$CACHE_ROOT/repo/scripts/run-cached.sh"
|