Skip to content

Docker Deploy

Docker Deploy #62

Workflow file for this run

name: Docker Deploy
on: [ workflow_dispatch, workflow_call ]
permissions:
contents: read
packages: write
jobs:
build:
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 6.0.2
with:
persist-credentials: false
ref: ${{ github.ref }}
- name: Get version
id: get-version
run: |
projectVersion=$(grep '^maven_version=' gradle.properties | cut -d'=' -f2)
echo "version=$projectVersion" >> $GITHUB_OUTPUT
- name: "Login to Docker Container Registry"
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
with:
username: ${{secrets.DOCKERHUB_USERNAME}}
password: ${{secrets.DOCKERHUB_PASSWORD}}
- name: Set up QEMU
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # 3.7.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # 3.12.0
with:
driver: docker-container
driver-opts: |
image=moby/buildkit:v0.11.6
platforms: linux/amd64,linux/arm64
- name: Build and Push
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # 6.19.2
with:
context: ./
file: ./Dockerfile
platforms: linux/amd64,linux/arm64
push: true
build-args: |
VERSION=${{ steps.get-version.outputs.version }}
tags: |
alexprogrammerde/soulfire:latest
alexprogrammerde/soulfire:${{ steps.get-version.outputs.version }}
- name: Push README.md to Dockerhub
uses: christian-korneck/update-container-description-action@d36005551adeaba9698d8d67a296bd16fa91f8e8 # v1
env:
DOCKER_USER: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKER_PASS: ${{ secrets.DOCKERHUB_PASSWORD }}
with:
destination_container_repo: alexprogrammerde/soulfire
provider: dockerhub
short_description: 'Advanced Minecraft Bot Tool. Deploy bots for testing, automation, and server development.'
readme_file: 'README.md'