mirror of
https://github.com/helm/helm.git
synced 2026-04-20 21:56:55 -04:00
Noteis: 1. This moves golangci scanning to a GitHub action. This will enable inline pointers to issues in the PR where linting fails. 2. Go 1.21 is specified in the go.mod because Kubernetes libs require it. 3. The lint issues were removed. Some were fixed while others were handled by skipping linting or using _ as an argument. Many of these can be refactored later for better cleanup. Signed-off-by: Matt Farina <matt.farina@suse.com>
82 lines
2.8 KiB
YAML
82 lines
2.8 KiB
YAML
name: release
|
|
on:
|
|
create:
|
|
tags:
|
|
- v*
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
# Note the only differences between release and canary-release jobs are:
|
|
# - only canary passes --overwrite flag
|
|
# - the VERSION make variable passed to 'make dist checksum' is expected to
|
|
# be "canary" if the job is triggered by a push to "main" branch. If the
|
|
# job is triggered by a tag push, VERSION should be the tag ref.
|
|
jobs:
|
|
release:
|
|
if: startsWith(github.ref, 'refs/tags/v')
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout source code
|
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # pin@4.1.0
|
|
with:
|
|
go-version: '1.21'
|
|
|
|
- name: Run unit tests
|
|
run: make test-coverage
|
|
|
|
- name: Build Helm Binaries
|
|
run: |
|
|
make build-cross
|
|
make dist checksum VERSION="${{ github.ref_name }}"
|
|
|
|
- name: Set latest version
|
|
run: |
|
|
# Push the latest semver tag, excluding prerelease tags
|
|
git tag | sort -r --version-sort | grep '^v[0-9]' | grep -v '-' | head -n1 > _dist/helm-latest-version
|
|
|
|
- name: Upload Binaries
|
|
uses: bacongobbler/azure-blob-storage-upload@50f7d898b7697e864130ea04c303ca38b5751c50 # pin@3.0.0
|
|
env:
|
|
AZURE_STORAGE_CONNECTION_STRING: "${{ secrets.AZURE_STORAGE_CONNECTION_STRING }}"
|
|
AZURE_STORAGE_CONTAINER_NAME: "${{ secrets.AZURE_STORAGE_CONTAINER_NAME }}"
|
|
with:
|
|
source_dir: _dist
|
|
container_name: ${{ secrets.AZURE_STORAGE_CONTAINER_NAME }}
|
|
connection_string: ${{ secrets.AZURE_STORAGE_CONNECTION_STRING }}
|
|
extra_args: '--pattern helm-*'
|
|
|
|
canary-release:
|
|
runs-on: ubuntu-latest
|
|
if: github.ref == 'refs/heads/main'
|
|
steps:
|
|
- name: Checkout source code
|
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # pin@4.1.0
|
|
with:
|
|
go-version: '1.21'
|
|
|
|
- name: Run unit tests
|
|
run: make test-coverage
|
|
|
|
- name: Build Helm Binaries
|
|
run: |
|
|
make build-cross
|
|
make dist checksum VERSION="canary"
|
|
|
|
- name: Upload Binaries
|
|
uses: bacongobbler/azure-blob-storage-upload@50f7d898b7697e864130ea04c303ca38b5751c50 # pin@3.0.0
|
|
with:
|
|
source_dir: _dist
|
|
container_name: ${{ secrets.AZURE_STORAGE_CONTAINER_NAME }}
|
|
connection_string: ${{ secrets.AZURE_STORAGE_CONNECTION_STRING }}
|
|
extra_args: '--pattern helm-*'
|
|
# WARNING: this will overwrite existing blobs in your blob storage
|
|
overwrite: 'true'
|