name: Build images on: push: pull_request: #make docker-build docker-push IMG=example/virtualhost-operator:latest jobs: lint: name: Run on Ubuntu runs-on: ubuntu-latest steps: - name: Clone the code uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version-file: go.mod - name: Run linter uses: golangci/golangci-lint-action@v6 with: version: v1.63.4 test: name: Run on Ubuntu runs-on: ubuntu-latest steps: - name: Clone the code uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version-file: go.mod - name: Running Tests run: | go mod tidy make test test-e2e: name: Run on Ubuntu runs-on: ubuntu-20.04 steps: - name: Clone the code uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version-file: go.mod - name: Install kubectl run: | curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl" mv kubectl /usr/local/bin/ chmod +x /usr/local/bin/kubectl - name: Install the latest version of kind run: | curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-arm64 chmod +x ./kind sudo mv ./kind /usr/local/bin/kind - name: Verify kind installation run: kind version - name: Remove kind cluster run: kind delete cluster | true - name: Create kind cluster run: kind create cluster - name: Running Test e2e run: | go mod tidy make test-e2e build-docker: name: Build docker image runs-on: ubuntu-20.04 needs: [lint, test, test-e2e] steps: - name: Clone the code uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version-file: go.mod - name: build image run: | make docker-build docker-push IMG=d.lilpenguins.com/locust-operator:latest make docker-build docker-push IMG=d.lilpenguins.com/locust-operator:${{gitea.sha}}