build(makefile): bump toolchain in makefile to latest version (#99) #78
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: main | |
on: ['push', 'pull_request'] | |
jobs: | |
markdown-lint: | |
name: Markdown Lint | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Lint Code Base | |
uses: github/super-linter@v4 | |
env: | |
VALIDATE_MARKDOWN: true | |
VALIDATE_ALL_CODEBASE: false | |
DEFAULT_BRANCH: main | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
LINTER_RULES_PATH: / | |
MARKDOWN_CONFIG_FILE: .markdownlint.yml | |
golang-lint: | |
name: golang-lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: '1.23' | |
cache: false | |
- name: golangci-lint | |
run: | | |
make lint | |
golang-test: | |
name: Golang Test | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
go-version: ['1.23'] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- uses: actions/checkout@v4 | |
- name: Setup Go ${{ matrix.go-version }} | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: Display Go version | |
run: go version | |
- name: Install dependencies | |
run: go get ./... | |
- name: Test with Go | |
run: make test | |
chainsaw-test: | |
name: Chainsaw Test | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
k8s-version: ['1.26.15', '1.27.16'] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: '1.23' | |
cache: false | |
- name: Create KinD clustet pur | |
env: | |
KINDTEST_K8S_VERSION: ${{ matrix.k8s-version}} | |
KUBECONFIG: kind-kubeconfig-${{ matrix.k8s-version }} | |
KIND_KUBECONFIG: kind-kubeconfig-${{ matrix.k8s-version }} | |
run: make kind-create | |
- name: Chainsaw test setup | |
env: | |
KINDTEST_K8S_VERSION: ${{ matrix.k8s-version }} | |
KUBECONFIG: kind-kubeconfig-${{ matrix.k8s-version }} | |
KIND_KUBECONFIG: kind-kubeconfig-${{ matrix.k8s-version }} | |
run: make chainsaw-setup | |
- name: Test with Chainsaw | |
env: | |
KINDTEST_K8S_VERSION: ${{ matrix.k8s-version }} | |
KUBECONFIG: kind-kubeconfig-${{ matrix.k8s-version }} | |
KIND_KUBECONFIG: kind-kubeconfig-${{ matrix.k8s-version }} | |
run: make chainsaw-test | |
deploy-operator: | |
name: Deploy operator | |
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository_owner == 'zncdatadev' }} | |
runs-on: ubuntu-22.04 | |
needs: | |
- golang-lint | |
- golang-test | |
- chainsaw-test | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
platforms: linux/amd64,linux/arm64 | |
- name: Login to quay.io | |
uses: docker/login-action@v2 | |
with: | |
registry: quay.io | |
username: ${{ secrets.QUAY_USERNAME }} | |
password: ${{ secrets.QUAY_PASSWORD }} | |
- name: Build and push operator | |
run: | | |
make docker-buildx | |
- name: Build and push operator bundle | |
run: | | |
make bundle | |
make bundle-buildx | |
- name: Build and push catalog | |
run: | | |
make catalog | |
make catalog-buildx |