refactor: make redfish and ipmi share the same k8s backend #63
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: Pull Request Build | |
on: | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
jobs: | |
build-pr: | |
runs-on: ubuntu-latest | |
env: | |
REPO: starbops | |
MANAGER: virtbmc-controller | |
AGENT: virtbmc | |
VERSION: ${{ github.event.pull_request.head.ref }}-head | |
GIT_COMMIT: ${{ github.sha }} | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.23' | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Extract metadata (tags, labels) for Docker | |
id: meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: ${{ matrix.image }} | |
- name: Lint | |
run: make lint | |
- name: Run tests | |
run: make test | |
- name: Build binaries | |
run: make build | |
# The docker daemon does not support tags pointing at a manifest list, rather than a manifest. Ref: https://github.com/docker/buildx/issues/59 | |
# Images built in this pipeline are meant to be used for the end-to-end testing, so it's tolerable to build the images for single platform. | |
- name: Docker build manager | |
uses: docker/build-push-action@v6 | |
with: | |
provenance: false | |
context: . | |
build-args: | | |
LINKFLAGS=-X main.AppVersion=${{ env.VERSION }} -X main.GitCommit=${{ env.GIT_COMMIT }} | |
file: Dockerfile | |
push: false | |
load: true | |
tags: ${{ env.REPO }}/${{ env.MANAGER }}:${{ env.VERSION }} | |
labels: ${{ steps.meta.outputs.labels }} | |
- name: Docker build agent | |
uses: docker/build-push-action@v6 | |
with: | |
provenance: false | |
context: . | |
build-args: | | |
LINKFLAGS=-X main.AppVersion=${{ env.VERSION }} -X main.GitCommit=${{ env.GIT_COMMIT }} | |
file: Dockerfile.virtbmc | |
push: false | |
load: true | |
tags: ${{ env.REPO }}/${{ env.AGENT }}:${{ env.VERSION }} | |
labels: ${{ steps.meta.outputs.labels }} | |
- name: Run end-to-end testing | |
run: make local-e2e-test | |