fix: release pipeline (#739) #57
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 UDS-CLI on Tag | ||
permissions: | ||
contents: read | ||
on: | ||
push: | ||
tags: | ||
- "v*" | ||
jobs: | ||
checkout: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | ||
with: | ||
fetch-depth: 0 | ||
test: | ||
uses: ./.github/workflows/parallel-tests.yaml | ||
needs: checkout | ||
test-ghcr: | ||
runs-on: ubuntu-latest | ||
needs: test | ||
permissions: | ||
packages: write | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | ||
with: | ||
fetch-depth: 0 | ||
- name: Download build artifacts | ||
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 | ||
with: | ||
name: build-artifacts | ||
path: build/ | ||
- name: setup-using-previous-job | ||
uses: ./.github/actions/setup-from-previous | ||
- name: Login to GHCR | ||
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Run GHCR tests | ||
run: | | ||
build/uds run test:e2e-ghcr --no-progress | ||
env: | ||
GITHUB_TOKEN: secrets.GITHUB_TOKEN | ||
- name: Save logs | ||
if: always() | ||
uses: ./.github/actions/save-logs | ||
smoke-test: | ||
runs-on: ubuntu-latest | ||
needs: test | ||
steps: | ||
# Checkout the repo and setup the tooling for this job | ||
- name: Checkout | ||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | ||
with: | ||
fetch-depth: 0 | ||
- name: Download build artifacts | ||
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 | ||
with: | ||
name: build-artifacts | ||
path: build/ | ||
- name: Setup golang | ||
uses: ./.github/actions/golang | ||
- name: Make UDS-CLI executable | ||
run: | | ||
chmod +x build/uds | ||
- name: Setup K3d | ||
uses: ./.github/actions/k3d | ||
- name: Login to GHCR | ||
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Run UDS Core smoke test | ||
run: build/uds run test:ci-uds-core-smoke-test --no-progress | ||
shell: bash | ||
- name: Save logs | ||
if: always() | ||
uses: ./.github/actions/save-logs | ||
push: | ||
runs-on: ubuntu-latest | ||
environment: release | ||
needs: [test-bundle, test-dev, test-variables, test-optional-bundle, test-vendor, test-ghcr, smoke-test, test-engine] | ||
Check failure on line 105 in .github/workflows/release.yaml GitHub Actions / Release UDS-CLI on TagInvalid workflow file
|
||
permissions: | ||
contents: write | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | ||
with: | ||
fetch-depth: 0 | ||
- name: Setup golang | ||
uses: ./.github/actions/golang | ||
- name: Install tools | ||
uses: ./.github/actions/install-tools | ||
- name: Download build artifacts | ||
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 | ||
with: | ||
name: build-artifacts | ||
path: build/ | ||
- name: Get Brew tap repo token | ||
id: brew-tap-token | ||
uses: actions/create-github-app-token@ad38cffc07bac6e3857755914c4c88bfd2db4da4 # v1.10.2 | ||
with: | ||
app-id: ${{ secrets.HOMEBREW_TAP_WORKFLOW_GITHUB_APP_ID }} | ||
private-key: ${{ secrets.HOMEBREW_TAP_WORKFLOW_GITHUB_APP_SECRET }} | ||
owner: defenseunicorns | ||
repositories: homebrew-tap | ||
- name: Run GoReleaser | ||
uses: goreleaser/goreleaser-action@286f3b13b1b49da4ac219696163fb8c1c93e1200 # v6.0.0 | ||
with: | ||
distribution: goreleaser | ||
version: latest | ||
args: release --clean --verbose | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN}} | ||
HOMEBREW_TAP_GITHUB_TOKEN: ${{ steps.brew-tap-token.outputs.token }} |