[reconcile]: update .github/workflows/github-issue-pre-check/action.yml #6
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
on: | |
pull_request: | |
branches: | |
- main | |
push: | |
branches: | |
- "main" | |
tags: | |
- "v*.*.*" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/setup-go@v1 | |
with: | |
go-version: "1.19" | |
- name: setup env | |
run: | | |
echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV | |
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH | |
shell: bash | |
- uses: actions/checkout@v2 | |
- run: make test | |
compile-preflight: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-go@v1 | |
with: | |
go-version: '1.19' | |
- name: setup env | |
run: | | |
echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV | |
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH | |
shell: bash | |
- uses: actions/checkout@master | |
- run: make generate preflight | |
- uses: actions/upload-artifact@v1 | |
with: | |
name: preflight | |
path: bin/preflight | |
validate-preflight: | |
runs-on: ubuntu-latest | |
needs: compile-preflight | |
steps: | |
- uses: replicatedhq/action-k3s@main | |
id: k3s | |
with: | |
version: v1.23.6-k3s1 | |
- name: Download preflight binary | |
uses: actions/download-artifact@v1 | |
with: | |
name: preflight | |
path: bin/ | |
- run: chmod +x bin/preflight | |
- run: | | |
./bin/preflight --interactive=false --format=json https://preflight.replicated.com > result.json | |
cat result.json | |
EXIT_STATUS=0 | |
if grep -q "was not collected" result.json; then | |
echo "Some files were not collected" | |
EXIT_STATUS=1 | |
fi | |
if (( `jq '.pass | length' result.json` < 1 )); then | |
echo "No passing preflights found" | |
EXIT_STATUS=1 | |
fi | |
if (( `jq '.warn | length' result.json` < 1 )); then | |
echo "No warnings found" | |
EXIT_STATUS=1 | |
fi | |
if (( `jq '.fail | length' result.json` < 1 )); then | |
echo "No failed preflights found" | |
EXIT_STATUS=1 | |
fi | |
exit $EXIT_STATUS | |
validate-preflight-e2e: | |
runs-on: ubuntu-latest | |
needs: compile-preflight | |
steps: | |
- uses: actions/checkout@master | |
- uses: replicatedhq/action-k3s@main | |
id: k3s | |
with: | |
version: v1.23.6-k3s1 | |
- name: Download preflight binary | |
uses: actions/download-artifact@v1 | |
with: | |
name: preflight | |
path: bin/ | |
- run: chmod +x bin/preflight | |
- run: make e2e-test | |
compile-supportbundle: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-go@v1 | |
with: | |
go-version: '1.19' | |
- name: setup env | |
run: | | |
echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV | |
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH | |
shell: bash | |
- uses: actions/checkout@master | |
- run: make generate support-bundle | |
- uses: actions/upload-artifact@v1 | |
with: | |
name: support-bundle | |
path: bin/support-bundle | |
validate-supportbundle: | |
runs-on: ubuntu-latest | |
needs: compile-supportbundle | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: replicatedhq/action-k3s@main | |
id: k3s | |
with: | |
version: v1.23.6-k3s1 | |
- name: Download support-bundle binary | |
uses: actions/download-artifact@v1 | |
with: | |
name: support-bundle | |
path: bin/ | |
- run: chmod +x bin/support-bundle | |
- run: ./bin/support-bundle ./examples/support-bundle/sample-collectors.yaml | |
- run: ./bin/support-bundle ./examples/support-bundle/sample-supportbundle.yaml | |
- run: ./bin/support-bundle https://kots.io | |
compile-collect: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-go@v1 | |
with: | |
go-version: '1.19' | |
- name: setup env | |
run: | | |
echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV | |
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH | |
shell: bash | |
- uses: actions/checkout@master | |
- run: make generate collect | |
- uses: actions/upload-artifact@v1 | |
with: | |
name: collect | |
path: bin/collect | |
goreleaser-test: | |
runs-on: ubuntu-latest | |
if: startsWith(github.ref, 'refs/tags/v') != true | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Unshallow | |
run: git fetch --prune --unshallow | |
- uses: actions/setup-go@v1 | |
with: | |
go-version: "1.19" | |
- name: Run GoReleaser | |
uses: goreleaser/goreleaser-action@v2 | |
with: | |
version: "v0.183.0" | |
args: build --rm-dist --snapshot --config deploy/.goreleaser.yaml | |
goreleaser: | |
runs-on: ubuntu-latest | |
needs: | |
- validate-preflight | |
- validate-preflight-e2e | |
- validate-supportbundle | |
if: startsWith(github.ref, 'refs/tags/v') | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- uses: azure/docker-login@v1 | |
with: | |
username: repldeploy2 | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- name: Unshallow | |
run: git fetch --prune --unshallow | |
- uses: actions/setup-go@v1 | |
with: | |
go-version: "1.19" | |
- uses: sigstore/cosign-installer@main | |
with: | |
cosign-release: "v1.2.1" | |
- name: Get Cosign Key | |
run: | | |
echo $COSIGN_KEY | base64 -d > ./cosign.key | |
env: | |
COSIGN_KEY: ${{secrets.COSIGN_KEY}} | |
- name: Generate SBOM | |
run: | | |
make sbom | |
env: | |
COSIGN_PASSWORD: ${{ secrets.COSIGN_PASSWORD }} | |
COSIGN_KEY: ${{ secrets.COSIGN_KEY }} | |
- name: Run GoReleaser | |
uses: goreleaser/goreleaser-action@v2 | |
with: | |
version: "v0.183.0" | |
args: release --rm-dist --config deploy/.goreleaser.yaml | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Update new preflight version in krew-index | |
uses: rajatjindal/[email protected] | |
with: | |
krew_template_file: deploy/krew/preflight.yaml | |
- name: Update new support-bundle version in krew-index | |
uses: rajatjindal/[email protected] | |
with: | |
krew_template_file: deploy/krew/support-bundle.yaml |