name: CI on: push: branches: - main pull_request: jobs: test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version-file: go.mod - name: Test run: go test ./... - name: Build run: go build . publish: if: gitea.event_name == 'push' && gitea.ref == 'refs/heads/main' needs: test runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version-file: go.mod - name: Configure Registry Auth env: REGISTRY_HOST: ${{ vars.REGISTRY_HOST }} REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} run: | mkdir -p "${HOME}/.docker" auth="$(printf '%s:%s' "${GITHUB_REPOSITORY_OWNER}" "${REGISTRY_PASSWORD}" | base64 -w0)" printf '{"auths":{"%s":{"auth":"%s"}}}\n' "${REGISTRY_HOST}" "${auth}" > "${HOME}/.docker/config.json" chmod 600 "${HOME}/.docker/config.json" - name: Install ko run: GOBIN=/usr/local/bin go install github.com/google/ko@v0.18.0 - name: Build and Push Image env: REGISTRY_HOST: ${{ vars.REGISTRY_HOST }} run: | export KO_DOCKER_REPO="${REGISTRY_HOST}/${GITHUB_REPOSITORY_OWNER}" ko build --base-import-paths --insecure-registry --sbom=none --tags "main,sha-${GITHUB_SHA}" .