VMware Event Router Build Verification #1000
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: VMware Event Router Build Verification | |
# triggered on every PRs to verify builds but only when changes inside | |
# vmware-event-router (sub)dir(s) | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened] | |
paths: | |
- 'vmware-event-router/**' | |
schedule: | |
# runs daily | |
- cron: '0 0 * * *' | |
# run all jobs with these defaults, unless specified otherwise | |
defaults: | |
run: | |
shell: bash | |
working-directory: ./vmware-event-router | |
jobs: | |
binaries: | |
name: Build binaries | |
strategy: | |
matrix: | |
go-version: ["1.19"] | |
platform: ["ubuntu-latest"] | |
runs-on: ${{ matrix.platform }} | |
timeout-minutes: 20 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 | |
- name: Set up Go ${{ matrix.go-version }} | |
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 | |
with: | |
go-version: ${{ matrix.go-version }} | |
cache-dependency-path: vmware-event-router/go.sum | |
id: go | |
- name: GoReleaser Snapshot | |
uses: goreleaser/goreleaser-action@286f3b13b1b49da4ac219696163fb8c1c93e1200 | |
with: | |
version: latest | |
args: release --clean --snapshot | |
workdir: vmware-event-router | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Archive run artifacts | |
uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 | |
with: | |
name: dist | |
path: | | |
vmware-event-router/dist/router_linux_*.tar.gz | |
vmware-event-router/dist/checksums.txt | |
retention-days: 1 | |
image: | |
name: Verify Release ko artifact (no upload) | |
strategy: | |
matrix: | |
go-version: ["1.19"] | |
platform: ["ubuntu-latest"] | |
runs-on: ${{ matrix.platform }} | |
timeout-minutes: 20 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 | |
- name: Setup ko | |
uses: ko-build/setup-ko@3aebd0597dc1e9d1a26bcfdb7cbeb19c131d3037 | |
- name: Set up Go ${{ matrix.go-version }} | |
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 | |
with: | |
go-version: ${{ matrix.go-version }} | |
cache-dependency-path: vmware-event-router/go.sum | |
id: go | |
- name: Get short COMMIT and TAG | |
run: | | |
echo "KO_COMMIT=$(echo -n $GITHUB_SHA | cut -c -8)" >> $GITHUB_ENV | |
echo "KO_TAG=$(basename "${{ github.ref }}")" >> $GITHUB_ENV | |
- name: Build image (no push) | |
run: | | |
# build, push and create release YAML | |
ko resolve --platform=linux/arm64,linux/amd64 --push=false --tags ${KO_TAG},${KO_COMMIT},latest -BRf deploy/event-router-k8s.yaml > release.yaml | |
- name: Archive run artifacts | |
uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 | |
with: | |
name: release | |
path: | | |
./vmware-event-router/release.yaml | |
retention-days: 1 |