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" type: string 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 username: vavakado password: ${{ secrets.REGISTRY_TOKEN }} - 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: Create Release # uses: actions/forgejo-release@v2 # with: # direction: upload # tag: ${{ github.event.inputs.version }} # title: ${{ github.event.inputs.version }} # token: ${{ secrets.RELEASE_TOKEN }} # release-notes-assistant: true # release-dir: ./ - 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