Skip to content

Fix eviction controller evicts volume on VPA eviction #289

Fix eviction controller evicts volume on VPA eviction

Fix eviction controller evicts volume on VPA eviction #289

Workflow file for this run

---
name: Docker Build Action
on:
pull_request:
branches:
- master
release:
types:
- published
push:
branches:
- master
env:
REGISTRY: ghcr.io
PLUGIN_IMAGE_NAME: ${{ github.repository }}
CONTROLLER_IMAGE_NAME: ${{ github.repository }}-controller
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Set up Go 1.25
uses: actions/setup-go@v5
with:
go-version: "1.25.x"
- name: Lint
uses: golangci/golangci-lint-action@v8
with:
args: --build-tags integration --timeout=10m
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: load modules for dm-raid and dm-integrity
run: lsmod && sudo modprobe dm-raid && sudo modprobe dm-integrity && lsmod
- name: Set up Go 1.25
uses: actions/setup-go@v5
with:
go-version: "1.25.x"
- name: Create k8s Kind Cluster
uses: helm/kind-action@v1.12.0
with:
version: v0.30.0
install_only: true
- name: Test
run: |
make test
make test-cleanup
build-platforms:
runs-on: ubuntu-latest
needs:
- lint
- test
strategy:
matrix:
os:
- linux
arch:
- amd64
- arm64
- arm
steps:
- name: Checkout Code
uses: actions/checkout@v5
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: "go.mod"
- name: Build
env:
GOOS: ${{ matrix.os }}
GOARCH: ${{ matrix.arch }}
GOARM: ${{ matrix.arch == 'arm' && '7' || '' }}
run: |
make lvmplugin controller
- uses: actions/upload-artifact@v4
with:
name: lvmplugin-${{ matrix.os }}-${{ matrix.arch }}${{ matrix.arch == 'arm' && '-v7' || '' }}
path: bin
- uses: actions/upload-artifact@v4
with:
name: controller-${{ matrix.os }}-${{ matrix.arch }}${{ matrix.arch == 'arm' && '-v7' || '' }}
path: bin
docker-build:
runs-on: ubuntu-latest
needs:
- build-platforms
env:
DOCKER_REGISTRY_TOKEN: ${{ secrets.DOCKER_REGISTRY_TOKEN }}
steps:
- name: Log in to the container registry
if: ${{ env.DOCKER_REGISTRY_TOKEN != '' }}
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.DOCKER_REGISTRY_USER }}
password: ${{ secrets.DOCKER_REGISTRY_TOKEN }}
- name: Checkout Code
if: ${{ env.DOCKER_REGISTRY_TOKEN != '' }}
uses: actions/checkout@v5
- name: Make tag
if: ${{ env.DOCKER_REGISTRY_TOKEN != '' }}
run: |
[ "${GITHUB_EVENT_NAME}" == 'pull_request' ] && echo "tag=${GITHUB_HEAD_REF##*/}" >> $GITHUB_ENV || true
[ "${GITHUB_EVENT_NAME}" == 'release' ] && echo "tag=${GITHUB_REF##*/}" >> $GITHUB_ENV || true
[ "${GITHUB_EVENT_NAME}" == 'push' ] && echo "tag=latest" >> $GITHUB_ENV || true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Download plugin binaries
uses: actions/download-artifact@v4
with:
pattern: lvmplugin-*
path: bin
merge-multiple: true
- name: Download controller binaries
uses: actions/download-artifact@v4
with:
pattern: controller-*
path: bin
merge-multiple: true
- name: Build and push plugin image
if: ${{ env.DOCKER_REGISTRY_TOKEN != '' }}
uses: docker/build-push-action@v6
with:
context: .
push: true
sbom: true
tags: ${{ env.REGISTRY }}/${{ env.PLUGIN_IMAGE_NAME }}:${{ env.tag }}
file: cmd/lvmplugin/Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7
- name: Build and push controller image
if: ${{ env.DOCKER_REGISTRY_TOKEN != '' }}
uses: docker/build-push-action@v6
with:
context: .
push: true
sbom: true
tags: ${{ env.REGISTRY }}/${{ env.CONTROLLER_IMAGE_NAME }}:${{ env.tag }}
file: cmd/controller/Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7