mirror of
https://github.com/helm/helm.git
synced 2026-04-13 04:46:22 -04:00
Multiple changes were made to pass linting. Some Go built-in names
are being used for variables (e.g., min). This happens in the Go
source itself including the Go standard library and is not always
a bad practice.
To handle allowing some built-in names to be used the linter config
is updated to allow (via opt-in) some names to pass. This allows us
to still check for re-use of Go built-in names and opt-in to any
new uses.
There were also several cases where a value was checked for nil
before checking its length when this is already handled by len()
or the types default value. These were cleaned up.
The license validation was updated because it was checking everything
in the .git directory including all remote content that was local.
The previous vendor directory was from a time prior to Go modules
when Helm handled dependencies differently. It was no longer needed.
Signed-off-by: Matt Farina <matt.farina@suse.com>
(cherry picked from commit 5727f56a96)
105 lines
3.7 KiB
YAML
105 lines
3.7 KiB
YAML
name: release
|
|
on:
|
|
create:
|
|
tags:
|
|
- v*
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
permissions: read-all
|
|
|
|
# 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-16-cores
|
|
steps:
|
|
- name: Checkout source code
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # pin@v4.2.2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # pin@5.1.0
|
|
with:
|
|
go-version: '1.23'
|
|
|
|
- name: Run unit tests
|
|
run: make test-coverage
|
|
|
|
- name: Build Helm Binaries
|
|
run: |
|
|
set -eu -o pipefail
|
|
|
|
make build-cross VERSION="${{ github.ref_name }}"
|
|
make dist checksum VERSION="${{ github.ref_name }}"
|
|
|
|
- name: Set latest version
|
|
run: |
|
|
set -eu -o pipefail
|
|
|
|
mkdir -p _dist_versions
|
|
|
|
# Push the latest semver tag, excluding prerelease tags
|
|
LATEST_VERSION="$(git tag | sort -r --version-sort | grep '^v[0-9]' | grep -v '-' | head -n1)"
|
|
echo "LATEST_VERSION=${LATEST_VERSION}"
|
|
echo "${LATEST_VERSION}" > _dist_versions/helm-latest-version
|
|
echo "${LATEST_VERSION}" > _dist_versions/helm3-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-*'
|
|
|
|
- name: Upload Version tag files
|
|
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:
|
|
overwrite: 'true'
|
|
source_dir: _dist_versions
|
|
container_name: ${{ secrets.AZURE_STORAGE_CONTAINER_NAME }}
|
|
connection_string: ${{ secrets.AZURE_STORAGE_CONNECTION_STRING }}
|
|
|
|
canary-release:
|
|
runs-on: ubuntu-latest-16-cores
|
|
if: github.ref == 'refs/heads/main'
|
|
steps:
|
|
- name: Checkout source code
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # pin@v4.2.2
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # pin@5.1.0
|
|
with:
|
|
go-version: '1.23'
|
|
check-latest: true
|
|
|
|
- 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'
|