Add support for dm-integrity on lvm raids #146
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: Docker Build Action | |
on: | |
pull_request: | |
branches: | |
- master | |
release: | |
types: | |
- published | |
push: | |
branches: | |
- master | |
env: | |
REGISTRY: ghcr.io | |
IMAGE_NAME: ${{ github.repository }} | |
PROVISIONER_IMAGE_NAME: ${{ github.repository }}-provisioner | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Go 1.23 | |
uses: actions/setup-go@v5 | |
with: | |
go-version: "1.23.x" | |
- name: Lint | |
uses: golangci/golangci-lint-action@v6 | |
with: | |
args: --build-tags integration -p bugs -p unused --timeout=10m | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- 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.23 | |
uses: actions/setup-go@v5 | |
with: | |
go-version: "1.23.x" | |
- name: Create k8s Kind Cluster | |
uses: helm/[email protected] | |
with: | |
version: v0.24.0 | |
install_only: true | |
- name: Test | |
run: | | |
make test | |
make test-cleanup | |
build-platforms: | |
name: Docker Build Platforms | |
runs-on: ubuntu-latest | |
needs: | |
- lint | |
- test | |
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 | |
if: ${{ env.DOCKER_REGISTRY_TOKEN != '' }} | |
uses: actions/checkout@v4 | |
- name: Set up Go 1.23 | |
if: ${{ env.DOCKER_REGISTRY_TOKEN != '' }} | |
uses: actions/setup-go@v5 | |
with: | |
go-version: "1.23.x" | |
- name: Set up Docker Buildx | |
if: ${{ env.DOCKER_REGISTRY_TOKEN != '' }} | |
uses: docker/setup-buildx-action@v3 | |
- 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: Build and push image | |
if: ${{ env.DOCKER_REGISTRY_TOKEN != '' }} | |
uses: docker/build-push-action@v6 | |
with: | |
context: . | |
push: true | |
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.tag }} | |
platforms: linux/amd64,linux/arm64,linux/arm/v7 | |
- name: Build and push provisioner image | |
if: ${{ env.DOCKER_REGISTRY_TOKEN != '' }} | |
uses: docker/build-push-action@v6 | |
with: | |
context: . | |
push: true | |
tags: ${{ env.REGISTRY }}/${{ env.PROVISIONER_IMAGE_NAME }}:${{ env.tag }} | |
file: cmd/provisioner/Dockerfile | |
platforms: linux/amd64,linux/arm64,linux/arm/v7 |