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: Install Docker CLI run: | apt-get update apt-get install -y docker.io - name: Login to Gitea Registry env: REGISTRY_HOST: ${{ vars.REGISTRY_HOST }} REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} run: | printf '%s' "${REGISTRY_PASSWORD}" | docker login "${REGISTRY_HOST}" -u "${GITHUB_REPOSITORY_OWNER}" --password-stdin - name: Build and Push Image env: REGISTRY_HOST: ${{ vars.REGISTRY_HOST }} run: | image="${REGISTRY_HOST}/${GITHUB_REPOSITORY}" docker build -t "${image}:main" -t "${image}:sha-${GITHUB_SHA}" . docker push "${image}:main" docker push "${image}:sha-${GITHUB_SHA}"