# # .gitea/gitea-ci.yaml # name: Build And Test run-name: ${{ gitea.actor }} started ci pipeline on: push: branches: - main tags: - 'v*' # Tags, die mit "v" anfangen, z. B. v1.0.0 workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - uses: https://github.com/actions/checkout@v6 - name: Use Go uses: https://github.com/actions/setup-go@v6 with: go-version: '1.25' - run: go version - run: go mod download - run: CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o manage-servers . - uses: actions/upload-artifact@v5 with: name: manage-servers-binary path: manage-servers publish: needs: build name: Build and Publish Docker Image runs-on: ubuntu-latest steps: - uses: https://github.com/actions/checkout@v6 - name: Docker login to Docker Hub run: | echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login docker.io \ --username "${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin - name: Docker login to Gitea Registry run: | echo "${{ secrets.DOCKER_PASSWORD }}" | docker login git.hnrx.net \ --username "${{ secrets.DOCKER_USERNAME }}" --password-stdin - uses: actions/download-artifact@v6 with: name: manage-servers-binary path: . - name: Setup Docker Buildx uses: docker/setup-buildx-action@v3 with: buildkitd-config-inline: | [registry."docker.io"] username = "${{ secrets.DOCKERHUB_USERNAME }}" password = "${{ secrets.DOCKERHUB_TOKEN }}" [registry."git.hnrx.net"] username = "${{ secrets.DOCKER_USERNAME }}" password = "${{ secrets.DOCKER_PASSWORD }}" - name: Build and Push Docker latest Image if: gitea.ref == 'refs/heads/main' uses: docker/build-push-action@v6 with: context: . push: true tags: git.hnrx.net/hnrx/manage-servers:latest file: ./Dockerfile - name: Build and Push Docker versioned Image ${{ gitea.ref_name }} if: startsWith(gitea.ref, 'refs/tags/v') uses: docker/build-push-action@v6 with: context: . push: true tags: git.hnrx.net/hnrx/manage-servers:${{ gitea.ref_name }} file: ./Dockerfile