diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 32aa454d..bda9561d 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -5,10 +5,15 @@ on: branches: - main workflow_dispatch: + inputs: + tag_name: + description: "Custom tag name for the Docker image" + required: false + default: "" jobs: build: - runs-on: self-hosted + runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 @@ -41,13 +46,22 @@ jobs: id: lowercase_repo_owner run: echo "REPO_OWNER=$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV + - name: Determine Docker image tag + id: tag + run: | + if [ "${{ github.event_name }}" == "workflow_dispatch" ] && [ -n "${{ github.event.inputs.tag_name }}" ]; then + echo "IMAGE_TAG=${{ github.event.inputs.tag_name }}" >> $GITHUB_ENV + else + echo "IMAGE_TAG=${{ github.run_id }}" >> $GITHUB_ENV + fi + - name: Build and Push Docker image uses: docker/build-push-action@v2 with: context: . file: ./docker/Dockerfile push: true - tags: ghcr.io/${{ env.REPO_OWNER }}/ssh-project:${{ github.run_id }} + tags: ghcr.io/${{ env.REPO_OWNER }}/ssh-project:${{ env.IMAGE_TAG }} - name: Post-build clean-up run: docker system prune -af \ No newline at end of file