Skip to content

build: bump oapi-codegen to 2.4.1 #4548

build: bump oapi-codegen to 2.4.1

build: bump oapi-codegen to 2.4.1 #4548

Workflow file for this run

name: Tests
on:
pull_request:
branches:
- "*"
push:
branches:
- main
merge_group:
jobs:
lint:
name: "πŸ›ƒ Checks"
runs-on: ubuntu-latest
steps:
- name: Set up bootstrap Go 1.21
uses: actions/[email protected]
with:
go-version: '1.21'
cache: false
id: go
- name: Check out code into the Go module directory
uses: actions/[email protected]
- name: Cache downloaded Go version
uses: actions/cache@v4
with:
path: |
~/sdk
~/go/bin/go*
~/go/pkg/mod
~/.cache/go-build
~/.cache/golangci-lint/
key: ${{ runner.os }}-go-sdk-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-sdk
- name: Check that source has been prepared
run: |
./tools/prepare-source.sh
if [ -n "$(git status --porcelain)" ]; then
echo
echo "Please include these changes in your branch (only first 5k lines): "
git status -vv | head -n5000
exit "1"
else
exit "0"
fi
- name: Build all binaries
run: make build
- name: golangci-lint
uses: golangci/golangci-lint-action@v4
with:
version: v1.56.2
skip-cache: true
- name: Run unit tests
run: make unit-tests
- name: Upload results to Codecov
uses: codecov/codecov-action@v4
with:
files: ./coverage.txt
token: ${{ secrets.CODECOV_TOKEN }}
speccheck:
name: "πŸ“‹ openapi spec check"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/[email protected]
- name: Install openapi-spec-validator
run: pip install openapi-spec-validator
- name: Check v1 spec
run: make check-api-spec
shellcheck:
name: "🐚 Shellcheck"
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- name: Run ShellCheck
uses: ludeeus/[email protected]
with:
ignore: vendor # We don't want to fix the code in vendored dependencies
env:
# don't check /etc/os-release sourcing and allow useless cats to live inside our codebase
# allow seemingly unreachable commands
SHELLCHECK_OPTS: -e SC1091 -e SC2002 -e SC2317
db-test:
name: "πŸ—„ DB check"
runs-on: ubuntu-latest
services:
postgres:
image: postgres
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: foobar
POSTGRES_DB: imagebuilder
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/[email protected]
- uses: actions/[email protected]
with:
go-version: '1.21'
- env:
MIGRATIONS_DIR: internal/db/migrations
TERN_MIGRATIONS_DIR: internal/db/migrations-tern
PGUSER: postgres
PGPASSWORD: foobar
PGDATABASE: imagebuilder
PGHOST: localhost
PGPORT: 5432
run: |
go install github.com/jackc/tern@latest
tern migrate -m "$TERN_MIGRATIONS_DIR"
make image-builder-db-test
./image-builder-db-test
kube-linter:
name: "πŸŽ€ kube-linter"
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- uses: redhat-actions/oc-installer@v1
- name: Process template
run: |
mkdir processed-templates
oc process -f templates/image-builder.yml \
-p IMAGE_TAG=image_tag \
--local \
-o yaml > processed-templates/image-builder.yml
oc process -f templates/iqe-trigger-integration.yml \
-p IMAGE_TAG=image_tag \
--local \
-o yaml > processed-templates/iqe-trigger-integration.yml
- uses: stackrox/[email protected]
with:
directory: processed-templates
config: templates/.kube-linter-config.yml