From c317d7af58fdf51ad4121194e69e2ed837179f17 Mon Sep 17 00:00:00 2001 From: Rogee Date: Wed, 26 Aug 2026 15:55:28 +0800 Subject: [PATCH 1/3] fix: associate OCI image with repository --- .gitea/workflows/publish.yml | 2 ++ .github/workflows/publish.yml | 2 ++ Dockerfile | 5 ++++- scripts/build.sh | 4 ++++ tests/check.sh | 3 +++ 5 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/publish.yml b/.gitea/workflows/publish.yml index 01b814b..9cff50b 100644 --- a/.gitea/workflows/publish.yml +++ b/.gitea/workflows/publish.yml @@ -24,5 +24,7 @@ jobs: run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.ipao.vip --username "${{ gitea.actor }}" --password-stdin - name: Build image env: + OCI_REVISION: ${{ gitea.sha }} + OCI_SOURCE: https://git.ipao.vip/rogee/fingerprint-chromium PUSH: ${{ gitea.event_name != 'pull_request' }} run: ./scripts/build.sh git.ipao.vip/rogee/fingerprint-chromium diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index b977b1b..784fb84 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -24,5 +24,7 @@ jobs: run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io --username "${{ github.actor }}" --password-stdin - name: Build image env: + OCI_REVISION: ${{ github.sha }} + OCI_SOURCE: https://github.com/rogeecn/fingerprint-chromium PUSH: ${{ github.event_name != 'pull_request' }} run: ./scripts/build.sh ghcr.io/rogeecn/fingerprint-chromium diff --git a/Dockerfile b/Dockerfile index 35cb4d8..18766b3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,8 +15,11 @@ RUN apt-get update \ FROM ubuntu:24.04 ARG CHROME_VERSION +ARG OCI_REVISION +ARG OCI_SOURCE -LABEL org.opencontainers.image.source="https://github.com/adryfish/fingerprint-chromium" \ +LABEL org.opencontainers.image.revision="$OCI_REVISION" \ + org.opencontainers.image.source="$OCI_SOURCE" \ org.opencontainers.image.version="$CHROME_VERSION" RUN apt-get update \ diff --git a/scripts/build.sh b/scripts/build.sh index 5dfda41..6ef5cc5 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -3,6 +3,8 @@ set -euo pipefail image="${1:-fingerprint-chromium}" release_api="https://api.github.com/repos/adryfish/fingerprint-chromium/releases" +oci_revision="${OCI_REVISION:-$(git rev-parse HEAD)}" +oci_source="${OCI_SOURCE:-https://git.ipao.vip/rogee/fingerprint-chromium}" if [[ -n "${CHROME_VERSION:-}" ]]; then release_url="$release_api/tags/$CHROME_VERSION" @@ -21,6 +23,8 @@ tag="$image:$version" docker build --pull --platform linux/amd64 \ --build-arg "CHROME_VERSION=$version" \ --build-arg "CHROME_URL=$asset_url" \ + --build-arg "OCI_REVISION=$oci_revision" \ + --build-arg "OCI_SOURCE=$oci_source" \ --tag "$tag" . if [[ "${PUSH:-false}" == "true" ]]; then diff --git a/tests/check.sh b/tests/check.sh index 7e8dc46..84fef2e 100755 --- a/tests/check.sh +++ b/tests/check.sh @@ -12,3 +12,6 @@ grep -q 'git.ipao.vip/rogee/fingerprint-chromium' .gitea/workflows/publish.yml grep -q 'ghcr.io/rogeecn/fingerprint-chromium' .github/workflows/publish.yml grep -q 'packages: write' .gitea/workflows/publish.yml grep -q 'packages: write' .github/workflows/publish.yml +grep -q 'org.opencontainers.image.revision="$OCI_REVISION"' Dockerfile +grep -q 'org.opencontainers.image.source="$OCI_SOURCE"' Dockerfile +grep -q 'OCI_SOURCE: https://git.ipao.vip/rogee/fingerprint-chromium' .gitea/workflows/publish.yml -- 2.54.0 From 365c4183fa5053c57a653772db4bb1a228afcd47 Mon Sep 17 00:00:00 2001 From: Rogee Date: Wed, 26 Aug 2026 17:15:47 +0800 Subject: [PATCH 2/3] fix: link Gitea package to repository Co-authored-by: multica-agent --- .gitea/workflows/publish.yml | 13 +++++++++++++ tests/check.sh | 2 ++ 2 files changed, 15 insertions(+) diff --git a/.gitea/workflows/publish.yml b/.gitea/workflows/publish.yml index 9cff50b..4d47707 100644 --- a/.gitea/workflows/publish.yml +++ b/.gitea/workflows/publish.yml @@ -28,3 +28,16 @@ jobs: OCI_SOURCE: https://git.ipao.vip/rogee/fingerprint-chromium PUSH: ${{ gitea.event_name != 'pull_request' }} run: ./scripts/build.sh git.ipao.vip/rogee/fingerprint-chromium + - name: Link package to repository + if: gitea.event_name != 'pull_request' + env: + REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }} + run: | + package_api=https://git.ipao.vip/api/v1/packages/rogee/container/fingerprint-chromium + linked_repo="$(curl --fail --silent --show-error "$package_api/-/latest" | jq -r '.repository.full_name // empty')" + if [ "$linked_repo" != rogee/fingerprint-chromium ]; then + curl --fail --silent --show-error --request POST \ + --header "Authorization: token $REGISTRY_TOKEN" \ + "$package_api/-/link/fingerprint-chromium" + fi + test "$(curl --fail --silent --show-error "$package_api/-/latest" | jq -r '.repository.full_name // empty')" = rogee/fingerprint-chromium diff --git a/tests/check.sh b/tests/check.sh index 84fef2e..99bb0b4 100755 --- a/tests/check.sh +++ b/tests/check.sh @@ -15,3 +15,5 @@ grep -q 'packages: write' .github/workflows/publish.yml grep -q 'org.opencontainers.image.revision="$OCI_REVISION"' Dockerfile grep -q 'org.opencontainers.image.source="$OCI_SOURCE"' Dockerfile grep -q 'OCI_SOURCE: https://git.ipao.vip/rogee/fingerprint-chromium' .gitea/workflows/publish.yml +grep -q '/link/fingerprint-chromium' .gitea/workflows/publish.yml +grep -q "repository.full_name // empty" .gitea/workflows/publish.yml -- 2.54.0 From b0549d13a181c2cbbc2994c0edbf14f0f9520a57 Mon Sep 17 00:00:00 2001 From: Rogee Date: Wed, 26 Aug 2026 18:35:21 +0800 Subject: [PATCH 3/3] fix: authenticate Gitea package reads Co-authored-by: multica-agent --- .gitea/workflows/publish.yml | 4 ++-- tests/check.sh | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/publish.yml b/.gitea/workflows/publish.yml index 4d47707..2c2e220 100644 --- a/.gitea/workflows/publish.yml +++ b/.gitea/workflows/publish.yml @@ -34,10 +34,10 @@ jobs: REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }} run: | package_api=https://git.ipao.vip/api/v1/packages/rogee/container/fingerprint-chromium - linked_repo="$(curl --fail --silent --show-error "$package_api/-/latest" | jq -r '.repository.full_name // empty')" + linked_repo="$(curl --fail --silent --show-error --header "Authorization: token $REGISTRY_TOKEN" "$package_api/-/latest" | jq -r '.repository.full_name // empty')" if [ "$linked_repo" != rogee/fingerprint-chromium ]; then curl --fail --silent --show-error --request POST \ --header "Authorization: token $REGISTRY_TOKEN" \ "$package_api/-/link/fingerprint-chromium" fi - test "$(curl --fail --silent --show-error "$package_api/-/latest" | jq -r '.repository.full_name // empty')" = rogee/fingerprint-chromium + test "$(curl --fail --silent --show-error --header "Authorization: token $REGISTRY_TOKEN" "$package_api/-/latest" | jq -r '.repository.full_name // empty')" = rogee/fingerprint-chromium diff --git a/tests/check.sh b/tests/check.sh index 99bb0b4..1288c79 100755 --- a/tests/check.sh +++ b/tests/check.sh @@ -17,3 +17,4 @@ grep -q 'org.opencontainers.image.source="$OCI_SOURCE"' Dockerfile grep -q 'OCI_SOURCE: https://git.ipao.vip/rogee/fingerprint-chromium' .gitea/workflows/publish.yml grep -q '/link/fingerprint-chromium' .gitea/workflows/publish.yml grep -q "repository.full_name // empty" .gitea/workflows/publish.yml +test "$(grep -c 'Authorization: token \$REGISTRY_TOKEN' .gitea/workflows/publish.yml)" -eq 3 -- 2.54.0