Skip to content

Bump versions for v0.99.0 #333

Bump versions for v0.99.0

Bump versions for v0.99.0 #333

name: Release Production
on:
push:
tags: [v*]
jobs:
image:
strategy:
matrix:
module:
[
graphql,
grpc,
importer,
monitor,
rest,
rest-java,
rest-monitor,
rosetta,
test,
web3,
]
env:
CONTEXT: hedera-mirror-${{ matrix.module }}
IMAGE: gcr.io/mirrornode/hedera-mirror-${{ matrix.module }}
name: Publish images
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Get tag
run: echo "TAG=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV
- name: Custom monitor path
if: matrix.module == 'rest-monitor'
run: echo "CONTEXT=hedera-mirror-rest/monitoring" >> $GITHUB_ENV
- name: Install JDK
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: 21
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
- name: Authenticate to Google Cloud
uses: google-github-actions/auth@v2
with:
credentials_json: "${{ secrets.GCR_KEY }}"
- name: Setup gcloud
uses: google-github-actions/setup-gcloud@v2
- name: Configure Docker
run: gcloud auth configure-docker gcr.io,marketplace.gcr.io
- name: Build
if: matrix.module != 'rest' && matrix.module != 'rest-monitor' && matrix.module != 'rosetta'
run: ./gradlew build -x test
- name: Setup QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push images
uses: docker/build-push-action@v5
with:
build-args: VERSION=${{env.TAG}}
cache-from: type=gha
cache-to: type=gha,mode=max
context: ${{env.CONTEXT}}
platforms: linux/amd64, linux/arm64
provenance: false
push: true
tags: ${{env.IMAGE}}:${{env.TAG}},${{env.IMAGE}}:latest
chart:
name: Publish charts
needs: image
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Publish helm chart
uses: stefanprodan/[email protected]
with:
target_dir: charts
token: ${{ secrets.GITHUB_TOKEN }}
marketplace:
name: GCP Marketplace release
needs: chart
if: "!contains(github.ref, '-')"
permissions:
id-token: write
contents: read
runs-on: ubuntu-latest
timeout-minutes: 15
env:
MPDEV: "/home/runner/mpdev"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Authenticate to Google Cloud
id: google-auth
uses: google-github-actions/auth@v2
with:
workload_identity_provider: "projects/798248771094/locations/global/workloadIdentityPools/default-pool/providers/gh-provider"
service_account: "[email protected]"
- name: Set GCloud CLI
uses: google-github-actions/setup-gcloud@v2
- name: Authorize Docker
run: gcloud auth configure-docker
- name: Install k3d
run: curl --retry 3 -fsL https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash
- name: Create k3d cluster
run: k3d cluster create mirror --agents 1 --wait --image rancher/k3s:v1.28.5-k3s1
- name: Get tag
run: echo "TAG=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV
- name: Install kubectl
run: curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
- name: Install mpdev
run:
docker run gcr.io/cloud-marketplace-tools/k8s/dev cat /scripts/dev > ${MPDEV}
&& chmod +x ${MPDEV}
- name: Install application
run: kubectl apply -f "https://raw.githubusercontent.com/GoogleCloudPlatform/marketplace-k8s-app-tools/master/crd/app-crd.yaml"
- name: Build images
run: ./release.sh "${TAG}"
working-directory: charts/marketplace/gcp
- name: Install marketplace app
run: ${MPDEV} verify --deployer=gcr.io/mirror-node-public/hedera-mirror-node/deployer:${TAG}