# Template: Publish image on release branch# Copy to: .github/workflows/release-publish.yml## Triggers on push to release/* branches# Flow: build → test → artifact (ECR, staging environment)## Required secrets: Same as develop-publish.yml
name: Publish to STAGING
on: push: branches: - 'release/**'
# Deploys on one ref run one at a time, in order. Never cancel one mid-flight:# a half-applied deploy is worse than a late one.concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: false
permissions: contents: read id-token: write
jobs: publish: if: ${{ !contains(github.event.head_commit.message, '[skip ci]') }} uses: Codehunters-IO/ci-templates/.github/workflows/contracts-main-pipeline.yml@v2 with: # Node comes from the image, not from a per-run download. The tag pins # the version a repository declares in `engines` / `.nvmrc`. container_image: 'ghcr.io/codehunters-io/ci-base-images:1-node' run_build: true run_test: true run_artifact: true environment: 'staging' secrets: inheritContracts (Hardhat/Solidity)·Consumer template·on: push
Contracts Release Publish
Template: Publish image on release branch Copy to: .github/workflows/release-publish.yml Triggers on push to release/* branches Flow: build → test → artifact (ECR, staging environment) Required secret
templates/contracts-release-publish.yml