diff --git a/.github/actions/build-push-image/action.yml b/.github/actions/build-push-image/action.yml index 89ac6df8..103e7dae 100644 --- a/.github/actions/build-push-image/action.yml +++ b/.github/actions/build-push-image/action.yml @@ -20,39 +20,54 @@ outputs: runs: using: "composite" steps: - # gcloud - # https://github.com/pezkuwichain/ci_cd/wiki/GitHub:-Push-Docker-image-to-GCP-Registry - - name: "Set up Cloud SDK" - uses: "google-github-actions/setup-gcloud@e427ad8a34f8676edf47cf7d7925499adf3eb74f" # v2.2.1 - - name: "gcloud info" + # GHCR login (using GITHUB_TOKEN - automatically available) + - name: Login to GHCR + uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ github.token }} + + - name: Set image version + id: version shell: bash - run: "gcloud info" - - name: "Auth in gcloud registry" - shell: bash - run: "gcloud auth configure-docker europe-docker.pkg.dev --quiet" + run: | + if [[ "${{ github.event_name }}" == "pull_request" ]]; then + echo "VERSION=${{ github.event.pull_request.head.sha }}" >> $GITHUB_OUTPUT + 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 shell: bash env: 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: | - 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 \ --build-arg VCS_REF="${GITHUB_SHA}" \ --build-arg BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%SZ')" \ --build-arg IMAGE_NAME="${{ inputs.image-name }}" \ --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 }} \ . - 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 id: login - # fork check - if: ${{ inputs.username != '' && inputs.password != '' && github.event_name != 'merge_group' }} + # Only login if credentials are provided + if: ${{ inputs.username != '' && inputs.password != '' }} uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0 with: username: ${{ inputs.username }} @@ -60,15 +75,14 @@ runs: - name: push to dockerhub shell: bash - if: ${{ inputs.username != '' && inputs.password != '' && github.event_name != 'merge_group' }} + if: ${{ inputs.username != '' && inputs.password != '' }} 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: | - export DOCKERHUB_TAG=docker.io/paritypr/${{ inputs.image-name }}:${{ github.event.pull_request.number || 'master' }} - if [[ ${{ github.event_name }} == "pull_request" ]]; then export DOCKERHUB_TAG=$DOCKERHUB_TAG-${GITHUB_PR_HEAD_SHA::8}; fi - if [[ ${{ github.event_name }} == "push" ]]; then export DOCKERHUB_TAG=$DOCKERHUB_TAG-${GITHUB_SHA::8}; fi - # - 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 $DOCKERHUB_TAG - - + # Tag GHCR image for DockerHub + docker tag "${{ env.GHCR_TAG }}:${{ steps.version.outputs.VERSION }}" "${{ env.DOCKERHUB_TAG }}:${{ steps.version.outputs.VERSION }}" + docker tag "${{ env.GHCR_TAG }}:latest" "${{ env.DOCKERHUB_TAG }}:latest" + # Push to DockerHub + docker push "${{ env.DOCKERHUB_TAG }}:${{ steps.version.outputs.VERSION }}" + docker push "${{ env.DOCKERHUB_TAG }}:latest" diff --git a/.github/workflows/build-publish-images.yml b/.github/workflows/build-publish-images.yml index 7d883547..4771c3d0 100644 --- a/.github/workflows/build-publish-images.yml +++ b/.github/workflows/build-publish-images.yml @@ -12,7 +12,9 @@ concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true -permissions: read-all +permissions: + contents: read + packages: write env: COMMIT_SHA: ${{ github.event.pull_request.head.sha || github.sha }} diff --git a/.github/zombienet-env b/.github/zombienet-env index ef24cc6c..a7cecc75 100644 --- a/.github/zombienet-env +++ b/.github/zombienet-env @@ -1,22 +1,22 @@ # zombienet settings 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_LARGE_RUNNER_FOR_NATIVE=parity-zombienet-native-large ZOMBIENET_DEFAULT_RUNNER_FOR_NATIVE_PERSISTENT=parity-zombienet-native-default-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 DEBUG=zombie,zombie::network-node,zombie::kube::client::logs # zombienet-sdk settings 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_LARGE_RUNNER_FOR_NATIVE=parity-zombienet-native-large 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_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 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 KUBERNETES_CPU_REQUEST=512m KUBERNETES_MEMORY_REQUEST=1Gi -TEMP_IMAGES_BASE=europe-docker.pkg.dev/parity-ci-2024/temp-images +TEMP_IMAGES_BASE=ghcr.io/pezkuwichain diff --git a/.github/zombienet-tests/zombienet_pezkuwi_tests.yml b/.github/zombienet-tests/zombienet_pezkuwi_tests.yml index 10199515..e7eee22b 100644 --- a/.github/zombienet-tests/zombienet_pezkuwi_tests.yml +++ b/.github/zombienet-tests/zombienet_pezkuwi_tests.yml @@ -235,7 +235,7 @@ export PATH=$BIN_DIR:$PATH echo "PATH=$PATH" >> $GITHUB_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" - job-name: "zombienet-pezkuwi-functional-validator-disabling"