Skip to content

chore(deps): pin actions/setup-go action to cdcb360 #622

chore(deps): pin actions/setup-go action to cdcb360

chore(deps): pin actions/setup-go action to cdcb360 #622

Workflow file for this run

name: CI Pipeline
on:
push:
paths-ignore:
- README.md
branches:
- "**"
tags-ignore:
- build-refs**
pull_request:
env:
HUB_VERSION: 2.12.7
HUB_OS: darwin
HUB_ARCH: amd64
jobs:
release-name:
name: Generate a release name to use
runs-on: ubuntu-latest
env:
HUB_OS: linux
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
if: github.event_name == 'push'
- run: echo $GITHUB_REF | sed -e 's/^refs\///g' -e 's/^tags\///g' > VERSION
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: VERSION
path: VERSION
- name: fetch hub
if: github.event_name == 'push'
run: wget -q -c https://github.com/github/hub/releases/download/v${HUB_VERSION}/hub-${HUB_OS}-${HUB_ARCH}-${HUB_VERSION}.tgz -O - | tar -xz
- name: create pre-release if it doesn't exist
if: github.event_name == 'push'
run: hub-${HUB_OS}-${HUB_ARCH}-${HUB_VERSION}/bin/hub release create -m "$(cat VERSION)" "$(cat VERSION)" || echo release already exists
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# golangci-lint:
# name: GolangCI
# runs-on: ubuntu-latest
# steps:
# - uses: actions/[email protected]
# - uses: docker://golangci/golangci-lint
# with:
# args: golangci-lint run --color=always
test-build-publish:
name: Test and Build
runs-on: macOS-latest
needs: release-name
strategy:
fail-fast: false
max-parallel: 8
matrix:
OS:
- darwin
- linux
- windows
- netbsd
- freebsd
- openbsd
- plan9
- solaris
ARCH:
- amd64
- 386
- arm64
- arm
include:
- OS: windows
EXT: .exe
exclude:
- OS: darwin
ARCH: 386
- OS: darwin
ARCH: arm
- OS: darwin
ARCH: amd64
- OS: windows
ARCH: arm64
- OS: freebsd
ARCH: arm64
- OS: plan9
ARCH: arm64
- OS: solaris
ARCH: arm64
- OS: solaris
ARCH: arm
- OS: solaris
ARCH: 386
env:
BUILD_FILENAME: kubectl-passman-${{matrix.OS}}-${{matrix.ARCH}}${{matrix.EXT}}
ZIP_FILENAME: kubectl-passman-${{matrix.OS}}-${{matrix.ARCH}}.zip
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5
with:
go-version-file: './go.mod'
- run: go test -v
- uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: VERSION
path: VERSION
- run: go build -a -ldflags "-X main.VERSION=$(cat VERSION/VERSION)" -o ${BUILD_FILENAME}
env:
GOOS: ${{matrix.OS}}
GOARCH: ${{matrix.ARCH}}
- run: chmod +x ${BUILD_FILENAME}
env:
GOOS: ${{matrix.OS}}
GOARCH: ${{matrix.ARCH}}
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: kubectl-passman-${{matrix.OS}}-${{matrix.ARCH}}${{matrix.EXT}}
path: kubectl-passman-${{matrix.OS}}-${{matrix.ARCH}}${{matrix.EXT}}
- uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: VERSION
path: VERSION
- run: zip kubectl-passman-${{matrix.OS}}-${{matrix.ARCH}}.zip ${BUILD_FILENAME} LICENSE
- name: fetch hub
if: github.event_name == 'push'
run: wget -q -c https://github.com/github/hub/releases/download/v${HUB_VERSION}/hub-${HUB_OS}-${HUB_ARCH}-${HUB_VERSION}.tgz -O - | tar -xz
- name: Publish to release
if: github.event_name == 'push'
run: |
hub-${HUB_OS}-${HUB_ARCH}-${HUB_VERSION}/bin/hub release edit -a ${ZIP_FILENAME} -m "Latest build of ${{github.ref}}" "$(cat VERSION/VERSION)"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
write-krew:
name: Write krew manifest file
runs-on: ubuntu-latest
if: github.ref_type == 'tag'
env:
HUB_OS: linux
needs:
- test-build-publish
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- name: Update new version in krew-index
uses: rajatjindal/krew-release-bot@df3eb197549e3568be8b4767eec31c5e8e8e6ad8 # v0.0.46