[release/v1.6] cherry pick release notes + bump version (#8867) #118
Workflow file for this run
This file contains hidden or 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*.*.*" | |
| # Exclude rc.0 tags — they’re not real release candidates but markers for main | |
| # See: https://github.com/envoyproxy/gateway/issues/7248 | |
| - "!v*.*.*-rc.0" | |
| 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| - uses: ./tools/github-actions/setup-deps | |
| # Benchmark | |
| - name: Run Benchmark tests | |
| env: | |
| KIND_NODE_TAG: v1.29.10 | |
| IMAGE_PULL_POLICY: IfNotPresent | |
| # Args for benchmark test | |
| BENCHMARK_BASELINE_RPS: 100 | |
| BENCHMARK_CONNECTIONS: 100 | |
| BENCHMARK_DURATION: 90 | |
| BENCHMARK_CPU_LIMITS: 1000m | |
| BENCHMARK_MEMORY_LIMITS: 2000Mi | |
| BENCHMARK_REPORT_DIR: benchmark_report | |
| BENCHMARK_RENDER_PNG: "false" | |
| 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@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| - uses: ./tools/github-actions/reclaim-storage | |
| - 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@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0 | |
| with: | |
| username: ${{ vars.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@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 | |
| with: | |
| name: benchmark_report | |
| path: release-artifacts | |
| # Make the JSON report be part of the release, so it would be easy to integrate with | |
| # Performance Benchmark Report Explorer | |
| - name: Unzip Benchmark Report | |
| run: | | |
| cd release-artifacts && unzip benchmark_report.zip | |
| - 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 | |
| zip -r egctl_${{ env.release_tag }}_windows_amd64.zip bin/windows/amd64/egctl | |
| - name: Upload Release Manifests | |
| uses: softprops/action-gh-release@5be0e66d93ac7ed76da52eca8bb058f665c3a5fe # v2.4.2 | |
| with: | |
| make_latest: false | |
| files: | | |
| release-artifacts/install.yaml | |
| release-artifacts/quickstart.yaml | |
| release-artifacts/envoy-gateway-crds.yaml | |
| release-artifacts/release-notes.yaml | |
| release-artifacts/benchmark_report.zip | |
| release-artifacts/benchmark_report/benchmark_result.json | |
| 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 | |
| egctl_${{ env.release_tag }}_windows_amd64.zip |