Skip to content

workflows: Enhance s390x mkosi workflow #5367

workflows: Enhance s390x mkosi workflow

workflows: Enhance s390x mkosi workflow #5367

Workflow file for this run

# (C) Copyright Confidential Containers Contributors
# # SPDX-License-Identifier: Apache-2.0
#
# Run linting tools on the sources of the project.
---
name: lint
on:
push:
branches:
- 'main'
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
vet-and-fmt:
name: vet and fmt
runs-on: ubuntu-24.04
permissions:
contents: read
steps:
- name: Checkout the pull request code
uses: actions/checkout@v4
- name: Read properties from versions.yaml
run: |
go_version="$(yq '.tools.golang' src/cloud-api-adaptor/versions.yaml)"
[ -n "$go_version" ]
echo "GO_VERSION=${go_version}" >> "$GITHUB_ENV"
- name: Setup Golang version ${{ env.GO_VERSION }}
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: "**/go.sum"
- name: Install dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y libvirt-dev
- name: check
run: |
make fmt
cd src/cloud-api-adaptor/ && make vet
golangci-lint:
name: golangci-lint
runs-on: ubuntu-24.04
permissions:
contents: read
steps:
- name: Checkout the pull request code
uses: actions/checkout@v4
- name: Read properties from versions.yaml
run: |
go_version="$(yq '.tools.golang' src/cloud-api-adaptor/versions.yaml)"
[ -n "$go_version" ]
echo "GO_VERSION=${go_version}" >> "$GITHUB_ENV"
- name: Setup Golang version ${{ env.GO_VERSION }}
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: "**/go.sum"
- name: Install dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y libvirt-dev
- name: Install golangci-lint
env:
GOLANGCI_LINT_VERSION: "1.56.2"
working-directory: /tmp
run: |
curl -sSfLO "https://github.com/golangci/golangci-lint/releases/download/v${GOLANGCI_LINT_VERSION}/golangci-lint-${GOLANGCI_LINT_VERSION}-linux-amd64.tar.gz"
tar -xzf "golangci-lint-${GOLANGCI_LINT_VERSION}-linux-amd64.tar.gz"
sudo mv "golangci-lint-${GOLANGCI_LINT_VERSION}-linux-amd64/golangci-lint" /usr/local/bin
- name: check
run: make golangci-lint
codeql:
permissions:
actions: read
contents: read
security-events: write
needs:
- vet-and-fmt
uses: "./.github/workflows/lib-codeql.yaml"
shellcheck:
name: shellcheck
runs-on: ubuntu-24.04
permissions:
contents: read
steps:
- name: Checkout the pull request code
uses: actions/checkout@v4
- name: Run shellcheck
run: make shellcheck
go-tidy:
name: go mod tidy
runs-on: ubuntu-24.04
steps:
- name: Checkout the pull request code
uses: actions/checkout@v4
- name: Read properties from versions.yaml
run: |
go_version="$(yq '.tools.golang' src/cloud-api-adaptor/versions.yaml)"
[ -n "$go_version" ]
echo "GO_VERSION=${go_version}" >> "$GITHUB_ENV"
- name: Setup Golang version ${{ env.GO_VERSION }}
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: "**/go.sum"
- name: Go tidy check
run: make tidy-check
govulncheck:
name: govulncheck
runs-on: ubuntu-24.04
steps:
- name: Checkout the pull request code
uses: actions/checkout@v4
- name: Read properties from versions.yaml
run: |
go_version="$(yq '.tools.golang' src/cloud-api-adaptor/versions.yaml)"
[ -n "$go_version" ]
echo "GO_VERSION=${go_version}" >> "$GITHUB_ENV"
- name: Setup Golang version ${{ env.GO_VERSION }}
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: "**/go.sum"
- name: Install dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y libvirt-dev
- name: Install govulncheck
run: go install golang.org/x/vuln/cmd/govulncheck@latest
- name: Run govulncheck
run: make govulncheck
packer:
name: Packer check
runs-on: ubuntu-24.04
steps:
- name: Checkout the pull request code
uses: actions/checkout@v4
- name: Run packer check
run: make packer-check
terraform:
name: Terraform check
# The 24.04 image doesn't have terraform installed, so stick with 22.04 here
runs-on: ubuntu-22.04
steps:
- name: Checkout the pull request code
uses: actions/checkout@v4
- name: Run terraform check
run: make terraform-check