Merge pull request #5273 from k8s-infra-cherrypick-robot/cherry-pick-… #193
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 | |
on: | |
workflow_dispatch: | |
push: | |
tags: | |
- "v*.*.*" | |
permissions: | |
contents: read | |
jobs: | |
build-cloud-controller-manager: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- os: linux | |
arch: amd64 | |
- os: linux | |
arch: arm | |
- os: linux | |
arch: arm64 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Golang | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
- name: Build binary | |
run: | | |
rm -rf ./bin | |
ARCH=${{ matrix.arch }} make bin/azure-cloud-controller-manager | |
mv bin/azure-cloud-controller-manager bin/azure-cloud-controller-manager-${{ matrix.os }}-${{ matrix.arch }} | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: cloud-controller-manager-${{ matrix.os }}-${{ matrix.arch }} | |
path: bin/azure-cloud-controller-manager-${{ matrix.os }}-${{ matrix.arch }} | |
if-no-files-found: error | |
build-cloud-node-manager: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- os: linux | |
arch: amd64 | |
- os: linux | |
arch: arm | |
- os: linux | |
arch: arm64 | |
- os: windows | |
arch: amd64 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Golang | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
cache: true | |
- name: Build binary for linux | |
if: matrix.os == 'linux' | |
run: | | |
rm -rf ./bin | |
ARCH=${{ matrix.arch }} make bin/azure-cloud-node-manager | |
mv bin/azure-cloud-node-manager bin/azure-cloud-node-manager-${{ matrix.os }}-${{ matrix.arch }} | |
- name: Build binary for windows | |
if: matrix.os == 'windows' | |
run: | | |
rm -rf ./bin | |
ARCH=${{ matrix.arch }} make bin/azure-cloud-node-manager.exe | |
mv bin/azure-cloud-node-manager-${{ matrix.arch }}.exe bin/azure-cloud-node-manager-${{ matrix.os }}-${{ matrix.arch }}.exe | |
- name: Upload artifact for linux | |
if: matrix.os == 'linux' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: cloud-node-manager-${{ matrix.os }}-${{ matrix.arch }} | |
path: bin/azure-cloud-node-manager-${{ matrix.os }}-${{ matrix.arch }} | |
- name: Upload artifact for windows | |
if: matrix.os == 'windows' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: cloud-node-manager-${{ matrix.os }}-${{ matrix.arch }} | |
path: bin/azure-cloud-node-manager-${{ matrix.os }}-${{ matrix.arch }}.exe | |
if-no-files-found: error | |
build-acr-credential-provider: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- os: linux | |
arch: amd64 | |
- os: linux | |
arch: arm | |
- os: linux | |
arch: arm64 | |
- os: windows | |
arch: amd64 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Golang | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
- name: Build binary for linux | |
if: matrix.os == 'linux' | |
run: | | |
rm -rf ./bin | |
ARCH=${{ matrix.arch }} make bin/azure-acr-credential-provider | |
mv bin/azure-acr-credential-provider bin/azure-acr-credential-provider-${{ matrix.os }}-${{ matrix.arch }} | |
- name: Build binary for windows | |
if: matrix.os == 'windows' | |
run: | | |
rm -rf ./bin | |
ARCH=${{ matrix.arch }} make bin/azure-acr-credential-provider.exe | |
mv bin/azure-acr-credential-provider.exe bin/azure-acr-credential-provider-${{ matrix.os }}-${{ matrix.arch }}.exe | |
- name: Upload artifact for linux | |
if: matrix.os == 'linux' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: acr-credential-provider-${{ matrix.os }}-${{ matrix.arch }} | |
path: bin/azure-acr-credential-provider-${{ matrix.os }}-${{ matrix.arch }} | |
- name: Upload artifact for windows | |
if: matrix.os == 'windows' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: acr-credential-provider-${{ matrix.os }}-${{ matrix.arch }} | |
path: bin/azure-acr-credential-provider-${{ matrix.os }}-${{ matrix.arch }}.exe | |
if-no-files-found: error | |
publish: | |
runs-on: ubuntu-latest | |
needs: | |
- build-cloud-controller-manager | |
- build-cloud-node-manager | |
- build-acr-credential-provider | |
permissions: | |
contents: write | |
pull-requests: write | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
ref: documentation | |
fetch-depth: 0 | |
- name: Setup Golang | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
- name: Generate release note | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
run: | | |
./hack/generate-release-note.sh ${GITHUB_REF_NAME} release-notes.md true | |
- name: Download artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
path: ./artifacts | |
- name: Publish release | |
uses: softprops/action-gh-release@v1 | |
with: | |
body_path: release-notes.md | |
draft: true | |
files: | | |
./artifacts/cloud-node-manager-*-*/* | |
./artifacts/cloud-controller-manager-*-*/* | |
./artifacts/acr-credential-provider-*-*/* | |
- name: Update site release note | |
uses: peter-evans/create-pull-request@v5 | |
with: | |
branch: doc/release-note-${{github.ref_name}} | |
delete-branch: true | |
base: documentation | |
commit-message: Update release notes for ${{github.ref_name}} | |
add-paths: | | |
./content/en/blog/releases/*.md | |
title: Update release notes for ${{github.ref_name}} | |
labels: | | |
lgtm | |
approved | |
body: | | |
Auto-generated by GitHub Action [Release](https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}) | |
#### What type of PR is this? | |
/kind documentation | |
#### What this PR does / why we need it: | |
New release published. | |
#### Does this PR introduce a user-facing change? | |
```release-note | |
None | |
``` |