[release/v1.3] release v1.3.0 cherry-pick from main (#5179) #54
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
permissions: | |
contents: read | |
on: | |
push: | |
# Sequence of patterns matched against refs/tags | |
tags: | |
- "v*.*.*" | |
jobs: | |
# For push event, we run benchmark test here because we need to | |
# include benchmark report in the release. | |
benchmark-test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: ./tools/github-actions/setup-deps | |
- name: Setup Graphviz | |
uses: ts-graphviz/setup-graphviz@b1de5da23ed0a6d14e0aeee8ed52fdd87af2363c # v2.0.2 | |
# Benchmark | |
- name: Run Benchmark tests | |
env: | |
KIND_NODE_TAG: v1.29.10 | |
IMAGE_PULL_POLICY: IfNotPresent | |
# Args for benchmark test | |
BENCHMARK_RPS: 10000 | |
BENCHMARK_CONNECTIONS: 100 | |
BENCHMARK_DURATION: 30 | |
BENCHMARK_CPU_LIMITS: 1000m | |
BENCHMARK_MEMORY_LIMITS: 2000Mi | |
BENCHMARK_REPORT_DIR: benchmark_report | |
run: make benchmark | |
- name: Package benchmark report | |
run: cd test/benchmark && zip -r benchmark_report.zip benchmark_report | |
- name: Upload Benchmark Report | |
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 | |
with: | |
name: benchmark_report | |
path: test/benchmark/benchmark_report.zip | |
release: | |
runs-on: ubuntu-22.04 | |
needs: [benchmark-test] | |
permissions: | |
contents: write | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Extract Release Tag and Commit SHA | |
id: vars | |
shell: bash | |
run: | | |
echo "release_tag=$(echo ${GITHUB_REF##*/})" >> $GITHUB_ENV | |
echo "without_v_release_tag=$(echo ${GITHUB_REF##*/v})" >> $GITHUB_ENV | |
echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_ENV | |
- name: Login to DockerHub | |
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- name: Retag and push existing gateway-dev image | |
run: | | |
skopeo copy --all docker://docker.io/envoyproxy/gateway-dev:${{ env.sha_short }} docker://docker.io/envoyproxy/gateway:${{ env.release_tag }} | |
- name: Generate Release Artifacts | |
run: IMAGE_PULL_POLICY=IfNotPresent make generate-artifacts IMAGE=envoyproxy/gateway TAG=${{ env.release_tag }} OUTPUT_DIR=release-artifacts | |
- name: Build and Push EG Release Helm Chart | |
run: | | |
IMAGE_PULL_POLICY=IfNotPresent OCI_REGISTRY=oci://docker.io/envoyproxy CHART_VERSION=${{ env.release_tag }} IMAGE=docker.io/envoyproxy/gateway TAG=${{ env.release_tag }} make helm-package helm-push | |
IMAGE_PULL_POLICY=IfNotPresent OCI_REGISTRY=oci://docker.io/envoyproxy CHART_VERSION=${{ env.without_v_release_tag }} IMAGE=docker.io/envoyproxy/gateway TAG=${{ env.release_tag }} make helm-package helm-push | |
- name: Download Benchmark Report | |
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 | |
with: | |
name: benchmark_report | |
path: release-artifacts | |
- name: Build egctl multiarch binaries | |
run: | | |
make build-multiarch | |
tar -zcvf envoy-gateway_${{ env.release_tag }}_linux_amd64.tar.gz bin/linux/amd64/envoy-gateway | |
tar -zcvf envoy-gateway_${{ env.release_tag }}_linux_arm64.tar.gz bin/linux/arm64/envoy-gateway | |
tar -zcvf envoy-gateway_${{ env.release_tag }}_darwin_amd64.tar.gz bin/darwin/amd64/envoy-gateway | |
tar -zcvf envoy-gateway_${{ env.release_tag }}_darwin_arm64.tar.gz bin/darwin/arm64/envoy-gateway | |
tar -zcvf egctl_${{ env.release_tag }}_linux_amd64.tar.gz bin/linux/amd64/egctl | |
tar -zcvf egctl_${{ env.release_tag }}_linux_arm64.tar.gz bin/linux/arm64/egctl | |
tar -zcvf egctl_${{ env.release_tag }}_darwin_amd64.tar.gz bin/darwin/amd64/egctl | |
tar -zcvf egctl_${{ env.release_tag }}_darwin_arm64.tar.gz bin/darwin/arm64/egctl | |
- name: Upload Release Manifests | |
uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # v2.2.1 | |
with: | |
files: | | |
release-artifacts/install.yaml | |
release-artifacts/quickstart.yaml | |
release-artifacts/release-notes.yaml | |
release-artifacts/benchmark_report.zip | |
envoy-gateway_${{ env.release_tag }}_linux_amd64.tar.gz | |
envoy-gateway_${{ env.release_tag }}_linux_arm64.tar.gz | |
envoy-gateway_${{ env.release_tag }}_darwin_amd64.tar.gz | |
envoy-gateway_${{ env.release_tag }}_darwin_arm64.tar.gz | |
egctl_${{ env.release_tag }}_linux_amd64.tar.gz | |
egctl_${{ env.release_tag }}_linux_arm64.tar.gz | |
egctl_${{ env.release_tag }}_darwin_amd64.tar.gz | |
egctl_${{ env.release_tag }}_darwin_arm64.tar.gz |