name: Build on: push: branches: [ main ] workflow_dispatch: jobs: build-and-push: name: Build and Push Docker Image runs-on: build-htz-01 steps: - name: Checkout uses: actions/checkout@v4 - name: Build and push Docker image run: | docker build -t cr.jdbnet.co.uk/public/goencode:latest . docker push cr.jdbnet.co.uk/public/goencode:latest build-binary: name: Build and Upload Binary runs-on: build-htz-01 steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: go-version-file: go.mod - name: Build run: | go mod tidy CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o goencode ./cmd/goencode - name: Upload to Cloudflare R2 env: AWS_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }} AWS_DEFAULT_REGION: auto R2_ENDPOINT: ${{ secrets.R2_ENDPOINT_URL }} run: | aws s3 cp goencode s3://apps/goencode --endpoint-url "$R2_ENDPOINT"