fix(ci): use manual git fetch with GITHUB_SERVER_URL/SHA (no Node.js needed)
Some checks failed
CI/CD / Test (push) Failing after 3s
CI/CD / Generate SBOM (push) Has been skipped
CI/CD / Lint (push) Failing after 3s
CI/CD / Build (darwin-amd64) (push) Has been skipped
CI/CD / Build (linux-amd64) (push) Has been skipped
CI/CD / Build (darwin-arm64) (push) Has been skipped
CI/CD / Build (linux-arm64) (push) Has been skipped
CI/CD / Release (push) Has been skipped
CI/CD / Build & Push Docker Image (push) Has been skipped
CI/CD / Mirror to GitHub (push) Has been skipped

This commit is contained in:
2026-01-06 14:03:09 +01:00
parent be69c0e00f
commit 4c6d44725e

View File

@@ -16,7 +16,13 @@ jobs:
image: golang:1.24-bookworm image: golang:1.24-bookworm
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 run: |
apt-get update && apt-get install -y -qq git ca-certificates
git config --global --add safe.directory "$GITHUB_WORKSPACE"
git init
git remote add origin "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git"
git fetch --depth=1 origin "${GITHUB_SHA}"
git checkout FETCH_HEAD
- name: Download dependencies - name: Download dependencies
run: go mod download run: go mod download
@@ -38,7 +44,13 @@ jobs:
image: golang:1.24-bookworm image: golang:1.24-bookworm
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 run: |
apt-get update && apt-get install -y -qq git ca-certificates
git config --global --add safe.directory "$GITHUB_WORKSPACE"
git init
git remote add origin "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git"
git fetch --depth=1 origin "${GITHUB_SHA}"
git checkout FETCH_HEAD
- name: Install golangci-lint - name: Install golangci-lint
run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.62.2 run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.62.2
@@ -61,7 +73,13 @@ jobs:
goarch: [amd64, arm64] goarch: [amd64, arm64]
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 run: |
apt-get update && apt-get install -y -qq git ca-certificates
git config --global --add safe.directory "$GITHUB_WORKSPACE"
git init
git remote add origin "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git"
git fetch --depth=1 origin "${GITHUB_SHA}"
git checkout FETCH_HEAD
- name: Build binary - name: Build binary
env: env:
@@ -81,7 +99,13 @@ jobs:
image: golang:1.24-bookworm image: golang:1.24-bookworm
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 run: |
apt-get update && apt-get install -y -qq git ca-certificates curl
git config --global --add safe.directory "$GITHUB_WORKSPACE"
git init
git remote add origin "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git"
git fetch --depth=1 origin "${GITHUB_SHA}"
git checkout FETCH_HEAD
- name: Install Syft - name: Install Syft
run: curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin run: curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
@@ -101,14 +125,18 @@ jobs:
steps: steps:
- name: Install tools - name: Install tools
run: | run: |
apt-get update && apt-get install -y git ca-certificates apt-get update && apt-get install -y git ca-certificates curl
curl -sSfL https://github.com/goreleaser/goreleaser/releases/download/v2.4.8/goreleaser_Linux_x86_64.tar.gz | tar xz -C /usr/local/bin goreleaser curl -sSfL https://github.com/goreleaser/goreleaser/releases/download/v2.4.8/goreleaser_Linux_x86_64.tar.gz | tar xz -C /usr/local/bin goreleaser
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 run: |
with: git config --global --add safe.directory "$GITHUB_WORKSPACE"
fetch-depth: 0 git init
git remote add origin "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git"
git fetch origin "${GITHUB_REF_NAME}"
git checkout FETCH_HEAD
git fetch --tags
- name: Run goreleaser - name: Run goreleaser
env: env:
@@ -128,11 +156,14 @@ jobs:
image: docker:24-dind image: docker:24-dind
options: --privileged options: --privileged
steps: steps:
- name: Install dependencies
run: apk add --no-cache git curl
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 run: |
apk add --no-cache git curl
git config --global --add safe.directory "$GITHUB_WORKSPACE"
git init
git remote add origin "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git"
git fetch --depth=1 origin "${GITHUB_SHA}"
git checkout FETCH_HEAD
- name: Set up Docker Buildx - name: Set up Docker Buildx
run: | run: |
@@ -147,19 +178,13 @@ jobs:
- name: Build and push - name: Build and push
if: secrets.REGISTRY_USER != '' && secrets.REGISTRY_TOKEN != '' if: secrets.REGISTRY_USER != '' && secrets.REGISTRY_TOKEN != ''
run: | run: |
# Determine tags
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/} VERSION=${GITHUB_REF#refs/tags/}
TAGS="-t git.uuxo.net/uuxo/dbbackup:${VERSION} -t git.uuxo.net/uuxo/dbbackup:latest" TAGS="-t git.uuxo.net/uuxo/dbbackup:${VERSION} -t git.uuxo.net/uuxo/dbbackup:latest"
else else
TAGS="-t git.uuxo.net/uuxo/dbbackup:${GITHUB_SHA::8} -t git.uuxo.net/uuxo/dbbackup:main" TAGS="-t git.uuxo.net/uuxo/dbbackup:${GITHUB_SHA::8} -t git.uuxo.net/uuxo/dbbackup:main"
fi fi
docker buildx build --platform linux/amd64,linux/arm64 --push ${TAGS} .
docker buildx build \
--platform linux/amd64,linux/arm64 \
--push \
${TAGS} \
.
mirror: mirror:
name: Mirror to GitHub name: Mirror to GitHub
@@ -171,13 +196,15 @@ jobs:
volumes: volumes:
- /root/.ssh:/root/.ssh:ro - /root/.ssh:/root/.ssh:ro
steps: steps:
- name: Install git
run: apt-get update && apt-get install -y --no-install-recommends git openssh-client ca-certificates && rm -rf /var/lib/apt/lists/*
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 run: |
with: apt-get update && apt-get install -y --no-install-recommends git openssh-client ca-certificates
fetch-depth: 0 rm -rf /var/lib/apt/lists/*
git config --global --add safe.directory "$GITHUB_WORKSPACE"
git init
git remote add origin "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git"
git fetch origin
git checkout -b main origin/main
- name: Mirror to GitHub - name: Mirror to GitHub
env: env: