fix: switch container registry from GCP to GHCR

- Replace Parity's GCP registry (europe-docker.pkg.dev/parity-ci-2024)
  with GitHub Container Registry (ghcr.io/pezkuwichain)
- Add packages:write permission for GHCR push
- Update zombienet-env to use pezkuwichain images
- Fix paritypr references in zombienet tests
This commit is contained in:
2026-01-27 05:57:33 +03:00
parent 06ab693b4c
commit 586c5d97d5
4 changed files with 49 additions and 33 deletions
+40 -26
View File
@@ -20,39 +20,54 @@ outputs:
runs: runs:
using: "composite" using: "composite"
steps: steps:
# gcloud # GHCR login (using GITHUB_TOKEN - automatically available)
# https://github.com/pezkuwichain/ci_cd/wiki/GitHub:-Push-Docker-image-to-GCP-Registry - name: Login to GHCR
- name: "Set up Cloud SDK" uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
uses: "google-github-actions/setup-gcloud@e427ad8a34f8676edf47cf7d7925499adf3eb74f" # v2.2.1 with:
- name: "gcloud info" registry: ghcr.io
username: ${{ github.actor }}
password: ${{ github.token }}
- name: Set image version
id: version
shell: bash shell: bash
run: "gcloud info" run: |
- name: "Auth in gcloud registry" if [[ "${{ github.event_name }}" == "pull_request" ]]; then
shell: bash echo "VERSION=${{ github.event.pull_request.head.sha }}" >> $GITHUB_OUTPUT
run: "gcloud auth configure-docker europe-docker.pkg.dev --quiet" elif [[ "${{ github.event_name }}" == "merge_group" ]]; then
echo "VERSION=${GITHUB_SHA::8}" >> $GITHUB_OUTPUT
else
echo "VERSION=${GITHUB_SHA::8}" >> $GITHUB_OUTPUT
fi
- name: build - name: build
shell: bash shell: bash
env: env:
ZOMBIENET_IMAGE: "docker.io/pezkuwichain/zombienet:v1.3.105" ZOMBIENET_IMAGE: "docker.io/pezkuwichain/zombienet:v1.3.105"
IMAGE_TAG: europe-docker.pkg.dev/parity-ci-2024/temp-images/${{ inputs.image-name }} IMAGE_TAG: ghcr.io/pezkuwichain/${{ inputs.image-name }}
run: | run: |
export DOCKER_IMAGES_VERSION=${{ github.event.pull_request.head.sha || 'master' }}
if [[ ${{ github.event_name }} == "merge_group" ]]; then export DOCKER_IMAGES_VERSION="${GITHUB_SHA::8}"; fi
docker build \ docker build \
--build-arg VCS_REF="${GITHUB_SHA}" \ --build-arg VCS_REF="${GITHUB_SHA}" \
--build-arg BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%SZ')" \ --build-arg BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%SZ')" \
--build-arg IMAGE_NAME="${{ inputs.image-name }}" \ --build-arg IMAGE_NAME="${{ inputs.image-name }}" \
--build-arg ZOMBIENET_IMAGE="${ZOMBIENET_IMAGE}" \ --build-arg ZOMBIENET_IMAGE="${ZOMBIENET_IMAGE}" \
-t "${{ env.IMAGE_TAG }}:$DOCKER_IMAGES_VERSION" \ -t "${{ env.IMAGE_TAG }}:${{ steps.version.outputs.VERSION }}" \
-t "${{ env.IMAGE_TAG }}:latest" \
-f ${{ inputs.dockerfile }} \ -f ${{ inputs.dockerfile }} \
. .
docker push "${{ env.IMAGE_TAG }}:$DOCKER_IMAGES_VERSION"
- name: push to GHCR
shell: bash
env:
IMAGE_TAG: ghcr.io/pezkuwichain/${{ inputs.image-name }}
run: |
docker push "${{ env.IMAGE_TAG }}:${{ steps.version.outputs.VERSION }}"
docker push "${{ env.IMAGE_TAG }}:latest"
- name: login to dockerhub - name: login to dockerhub
id: login id: login
# fork check # Only login if credentials are provided
if: ${{ inputs.username != '' && inputs.password != '' && github.event_name != 'merge_group' }} if: ${{ inputs.username != '' && inputs.password != '' }}
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0 uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
with: with:
username: ${{ inputs.username }} username: ${{ inputs.username }}
@@ -60,15 +75,14 @@ runs:
- name: push to dockerhub - name: push to dockerhub
shell: bash shell: bash
if: ${{ inputs.username != '' && inputs.password != '' && github.event_name != 'merge_group' }} if: ${{ inputs.username != '' && inputs.password != '' }}
env: env:
GITHUB_PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }} GHCR_TAG: ghcr.io/pezkuwichain/${{ inputs.image-name }}
DOCKERHUB_TAG: docker.io/pezkuwichain/${{ inputs.image-name }}
run: | run: |
export DOCKERHUB_TAG=docker.io/paritypr/${{ inputs.image-name }}:${{ github.event.pull_request.number || 'master' }} # Tag GHCR image for DockerHub
if [[ ${{ github.event_name }} == "pull_request" ]]; then export DOCKERHUB_TAG=$DOCKERHUB_TAG-${GITHUB_PR_HEAD_SHA::8}; fi docker tag "${{ env.GHCR_TAG }}:${{ steps.version.outputs.VERSION }}" "${{ env.DOCKERHUB_TAG }}:${{ steps.version.outputs.VERSION }}"
if [[ ${{ github.event_name }} == "push" ]]; then export DOCKERHUB_TAG=$DOCKERHUB_TAG-${GITHUB_SHA::8}; fi docker tag "${{ env.GHCR_TAG }}:latest" "${{ env.DOCKERHUB_TAG }}:latest"
# # Push to DockerHub
docker tag "europe-docker.pkg.dev/parity-ci-2024/temp-images/${{ inputs.image-name }}:${{ github.event.pull_request.head.sha || 'master' }}" $DOCKERHUB_TAG docker push "${{ env.DOCKERHUB_TAG }}:${{ steps.version.outputs.VERSION }}"
docker push $DOCKERHUB_TAG docker push "${{ env.DOCKERHUB_TAG }}:latest"
+3 -1
View File
@@ -12,7 +12,9 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true cancel-in-progress: true
permissions: read-all permissions:
contents: read
packages: write
env: env:
COMMIT_SHA: ${{ github.event.pull_request.head.sha || github.sha }} COMMIT_SHA: ${{ github.event.pull_request.head.sha || github.sha }}
+5 -5
View File
@@ -1,22 +1,22 @@
# zombienet settings # zombienet settings
ZOMBIENET_PROVIDER=native ZOMBIENET_PROVIDER=native
ZOMBIENET_IMAGE_FOR_NATIVE=docker.io/paritytech/zombienet:v1.3.133 ZOMBIENET_IMAGE_FOR_NATIVE=docker.io/pezkuwichain/zombienet:v1.3.133
ZOMBIENET_DEFAULT_RUNNER_FOR_NATIVE=parity-zombienet-native-default ZOMBIENET_DEFAULT_RUNNER_FOR_NATIVE=parity-zombienet-native-default
ZOMBIENET_LARGE_RUNNER_FOR_NATIVE=parity-zombienet-native-large ZOMBIENET_LARGE_RUNNER_FOR_NATIVE=parity-zombienet-native-large
ZOMBIENET_DEFAULT_RUNNER_FOR_NATIVE_PERSISTENT=parity-zombienet-native-default-persistent ZOMBIENET_DEFAULT_RUNNER_FOR_NATIVE_PERSISTENT=parity-zombienet-native-default-persistent
ZOMBIENET_LARGE_RUNNER_FOR_NATIVE_PERSISTENT=parity-zombienet-native-large-persistent ZOMBIENET_LARGE_RUNNER_FOR_NATIVE_PERSISTENT=parity-zombienet-native-large-persistent
ZOMBIENET_IMAGE_FOR_K8S=docker.io/paritytech/zombienet:v1.3.133 ZOMBIENET_IMAGE_FOR_K8S=docker.io/pezkuwichain/zombienet:v1.3.133
ZOMBIENET_RUNNER_FOR_K8S=parity-zombienet ZOMBIENET_RUNNER_FOR_K8S=parity-zombienet
DEBUG=zombie,zombie::network-node,zombie::kube::client::logs DEBUG=zombie,zombie::network-node,zombie::kube::client::logs
# zombienet-sdk settings # zombienet-sdk settings
ZOMBIE_PROVIDER=native ZOMBIE_PROVIDER=native
ZOMBIENET_SDK_IMAGE_FOR_NATIVE=docker.io/paritytech/ci-unified:bullseye-1.84.1-2025-01-28-v202502131220 ZOMBIENET_SDK_IMAGE_FOR_NATIVE=docker.io/pezkuwichain/ci-unified:bullseye-1.84.1-2025-01-28-v202502131220
ZOMBIENET_SDK_DEFAULT_RUNNER_FOR_NATIVE=parity-zombienet-native-default ZOMBIENET_SDK_DEFAULT_RUNNER_FOR_NATIVE=parity-zombienet-native-default
ZOMBIENET_SDK_LARGE_RUNNER_FOR_NATIVE=parity-zombienet-native-large ZOMBIENET_SDK_LARGE_RUNNER_FOR_NATIVE=parity-zombienet-native-large
ZOMBIENET_SDK_DEFAULT_RUNNER_FOR_NATIVE_PERSISTENT=parity-zombienet-native-default-persistent ZOMBIENET_SDK_DEFAULT_RUNNER_FOR_NATIVE_PERSISTENT=parity-zombienet-native-default-persistent
ZOMBIENET_SDK_LARGE_RUNNER_FOR_NATIVE_PERSISTENT=parity-zombienet-native-large-persistent ZOMBIENET_SDK_LARGE_RUNNER_FOR_NATIVE_PERSISTENT=parity-zombienet-native-large-persistent
ZOMBIENET_SDK_IMAGE_FOR_K8S=docker.io/paritytech/zombienet:v1.3.133 ZOMBIENET_SDK_IMAGE_FOR_K8S=docker.io/pezkuwichain/zombienet:v1.3.133
ZOMBIENET_SDK_RUNNER_FOR_K8S=parity-zombienet ZOMBIENET_SDK_RUNNER_FOR_K8S=parity-zombienet
RUST_LOG=info,zombienet_orchestrator=trace,cumulus_zombienet_sdk_helpers=debug RUST_LOG=info,zombienet_orchestrator=trace,cumulus_zombienet_sdk_helpers=debug
@@ -24,4 +24,4 @@ RUST_LOG=info,zombienet_orchestrator=trace,cumulus_zombienet_sdk_helpers=debug
PUSHGATEWAY_URL=http://prometheus-pushgateway.monitoring.svc.cluster.local:9091/metrics/job/zombie-metrics PUSHGATEWAY_URL=http://prometheus-pushgateway.monitoring.svc.cluster.local:9091/metrics/job/zombie-metrics
KUBERNETES_CPU_REQUEST=512m KUBERNETES_CPU_REQUEST=512m
KUBERNETES_MEMORY_REQUEST=1Gi KUBERNETES_MEMORY_REQUEST=1Gi
TEMP_IMAGES_BASE=europe-docker.pkg.dev/parity-ci-2024/temp-images TEMP_IMAGES_BASE=ghcr.io/pezkuwichain
@@ -235,7 +235,7 @@
export PATH=$BIN_DIR:$PATH export PATH=$BIN_DIR:$PATH
echo "PATH=$PATH" >> $GITHUB_ENV echo "PATH=$PATH" >> $GITHUB_ENV
additional-env: additional-env:
OLD_POLKADOT_IMAGE: "docker.io/paritypr/pezkuwi-debug:master-187cddde" OLD_POLKADOT_IMAGE: "ghcr.io/pezkuwichain/pezkuwi-debug:latest"
OLD_POLKADOT_COMMAND: "pezkuwi-old" OLD_POLKADOT_COMMAND: "pezkuwi-old"
- job-name: "zombienet-pezkuwi-functional-validator-disabling" - job-name: "zombienet-pezkuwi-functional-validator-disabling"