Skip to content

DO-NOT-MERGE: test fedora #235

DO-NOT-MERGE: test fedora

DO-NOT-MERGE: test fedora #235

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:
jobs:
vet-and-fmt:
name: vet and fmt
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout the pull request code
uses: actions/checkout@v3
- 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@v4
with:
go-version: ${{ env.GO_VERSION }}
- 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-latest
permissions:
contents: read
steps:
- name: Checkout the pull request code
uses: actions/checkout@v3
- 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@v4
with:
go-version: ${{ env.GO_VERSION }}
- 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
shellcheck:
name: shellcheck
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout the pull request code
uses: actions/checkout@v3
- name: Run shellcheck
run: make shellcheck
go-tidy:
name: go mod tidy
runs-on: ubuntu-latest
steps:
- name: Checkout the pull request code
uses: actions/checkout@v3
- 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@v4
with:
go-version: ${{ env.GO_VERSION }}
- name: Go tidy check
run: make tidy-check
govulncheck:
name: govulncheck
runs-on: ubuntu-latest
steps:
- name: Checkout the pull request code
uses: actions/checkout@v3
- 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@v4
with:
go-version: ${{ env.GO_VERSION }}
- 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-latest
steps:
- name: Checkout the pull request code
uses: actions/checkout@v3
- name: Run packer check
run: make packer-check
terraform:
name: Terraform check
runs-on: ubuntu-latest
steps:
- name: Checkout the pull request code
uses: actions/checkout@v3
- name: Run terraform check
run: make terraform-check