Skip to content

Add TDX initdata measurement and improve service ordering #12

Add TDX initdata measurement and improve service ordering

Add TDX initdata measurement and improve service ordering #12

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
permissions: {}
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- 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@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: "**/go.sum"
cache: false
- 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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- 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@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: "**/go.sum"
cache: false
- name: Install dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y libvirt-dev
- name: Install golangci-lint
env:
GOLANGCI_LINT_VERSION: "2.9.0"
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- 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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- 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@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: "**/go.sum"
cache: false
- 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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- 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@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: "**/go.sum"
cache: false
- 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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- 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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Run terraform check
run: make terraform-check
helm-charts:
name: Helm charts
runs-on: ubuntu-24.04
permissions:
contents: read
steps:
- name: Checkout the pull request code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Read properties from versions.yaml
run: |
helm_version="$(yq '.tools.helm.version' src/cloud-api-adaptor/versions.yaml)"
helm_sha256="$(yq '.tools.helm.sha256' src/cloud-api-adaptor/versions.yaml)"
[ -n "$helm_version" ]
[ -n "$helm_sha256" ]
echo "HELM_VERSION=${helm_version}" >> "$GITHUB_ENV"
echo "HELM_CHECKSUM=${helm_sha256}" >> "$GITHUB_ENV"
- name: Install Helm
run: |
curl -fsSL -o helm.tar.gz "https://get.helm.sh/helm-${HELM_VERSION}-linux-amd64.tar.gz"
echo "${HELM_CHECKSUM} helm.tar.gz" | sha256sum --check --strict
tar -xzf helm.tar.gz
sudo mv linux-amd64/helm /usr/local/bin/helm
rm -rf helm.tar.gz linux-amd64
helm version
- name: Static checks for peerpod-ctrl chart
working-directory: src/peerpod-ctrl
run: make static-helm-check
- name: Static checks for webhook chart
working-directory: src/webhook
run: make static-helm-check
- name: Static checks for peerpods chart
working-directory: src/cloud-api-adaptor
run: make static-helm-check