name: Manual Release and Docker Image Build on: workflow_dispatch: inputs: version: description: "Version for the release (e.g., v1.0.0)" required: true default: "v1.0.0" jobs: release: name: Create Release and Build Docker Image runs-on: ubuntu-latest-root steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Login to Docker Registry uses: docker/login-action@v3 with: registry: git.vavakado.xyz # Replace with your Docker registry URL username: ${{ gitea.actor }} # The actor who triggered the action password: ${{ secrets.REGISTRY_TOKEN }} # Your registry token secret - name: Create Git Tag run: | git tag ${{ github.event.inputs.version }} git push origin ${{ github.event.inputs.version }} - name: Create Release run: | curl -X POST -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \ -H "Content-Type: application/json" \ -d '{ "tag_name": "${{ github.event.inputs.version }}", "target_commitish": "main", # Change if your default branch is different "name": "${{ github.event.inputs.version }}", "body": "Release for version ${{ github.event.inputs.version }}", "draft": false, "prerelease": false }' \ https://git.vavakado.xyz/api/v1/repos/${{ gitea.repository_owner }}/${{ gitea.repository }}/releases - name: Build Docker Image run: | docker build -t git.vavakado.xyz/${{ gitea.repository_owner }}/exmr:${{ github.event.inputs.version }} . docker tag git.vavakado.xyz/vavakado/exmr:${{ github.event.inputs.version }} git.vavakado.xyz/vavakado/exmr:latest docker tag git.vavakado.xyz/vavakado/exmr:${{ github.event.inputs.version }} git.vavakado.xyz/vavakado/exmr:stable - name: Push Docker Image run: | docker push git.vavakado.xyz/${{ gitea.repository_owner }}/exmr:${{ github.event.inputs.version }} docker push git.vavakado.xyz/vavakado/exmr:latest docker push git.vavakado.xyz/vavakado/exmr:stable