Continuous Integration #42
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: Continuous Integration | |
on: | |
push: | |
branches: | |
- master | |
# add release branches | |
pull_request: | |
branches: | |
- master | |
# add release branches | |
schedule: | |
- cron: '0 0 * * 1' # Every Monday at 00:00 UTC | |
jobs: | |
golang-check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version-file: 'go.mod' | |
- name: Install Go dependencies | |
run: go mod download | |
- name: Go unit and integration tests | |
run: make simulation-test | |
- name: Go linters | |
uses: golangci/golangci-lint-action@v6 | |
with: | |
version: v1.56.2 | |
- name: Go dependencies | |
run: make check-go-dependencies | |
container-check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build container image | |
run: make docker-build | |
- name: Container file linter | |
uses: hadolint/[email protected] | |
with: | |
dockerfile: Dockerfile | |
project-check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Check if 'make generate' was run | |
run: make check-generate | |
- name: Check if 'make manifests' was run | |
run: make check-manifests | |
- name: Check all files format | |
run: make ec | |
- name: Check if images are the same in Makefile and config/manager/kustomization.yaml | |
run: make check-images | |
oadp-compatibility-check: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout OADP operator | |
uses: actions/checkout@v4 | |
with: | |
repository: openshift/oadp-operator | |
ref: ${{ github.base_ref || github.ref_name }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version-file: 'go.mod' | |
- name: Checkout Non Admin Controller (NAC) | |
uses: actions/checkout@v4 | |
with: | |
path: oadp-non-admin | |
- name: Check Non Admin Controller (NAC) manifests | |
run: | | |
NON_ADMIN_CONTROLLER_PATH=./oadp-non-admin make update-non-admin-manifests | |
if test -n "$(git status --short -- ':!oadp-non-admin')"; then | |
echo "::error::run 'make update-non-admin-manifests' in OADP repository to update Non Admin Controller (NAC) manifests" | |
exit 1 | |
fi | |
- name: Check Velero manifests | |
working-directory: ./oadp-non-admin | |
run: | | |
OADP_OPERATOR_PATH=../ make update-velero-manifests | |
if test -n "$(git status --short)"; then | |
echo "::error::run 'make update-velero-manifests' in Non Admin Controller (NAC) repository to update Velero manifests" | |
exit 1 | |
fi |