Skip to content

Build and push a CRF-only docker image #111

Build and push a CRF-only docker image

Build and push a CRF-only docker image #111

name: Build and push a CRF-only docker image
on:
workflow_dispatch:
inputs:
custom_tag:
type: string
description: Docker image tag
required: true
default: "latest-crf"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-tags: true
fetch-depth: 0
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: 'gradle'
- name: Build with Gradle
run: ./gradlew build -x test
docker-build:
needs: [ build ]
runs-on: ubuntu-latest
steps:
- name: Create more disk space
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
- uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
id: buildx
with:
buildkitd-flags: --debug
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME_LFOPPIANO }}
password: ${{ secrets.DOCKERHUB_TOKEN_LFOPPIANO }}
- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
file: Dockerfile.crf
platforms: linux/amd64,linux/arm64
push: true
tags: |
lfoppiano/grobid:latest-develop, lfoppiano/grobid:${{ github.event.inputs.custom_tag}}
- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
- name: Docker Image Summary
run: |
echo "## 🐳 Docker Image Uploaded Successfully" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Image Details:**" >> $GITHUB_STEP_SUMMARY
echo "- **Registry:** docker.io" >> $GITHUB_STEP_SUMMARY
echo "- **Image:** lfoppiano/grobid" >> $GITHUB_STEP_SUMMARY
echo "- **Type:** CRF-only build" >> $GITHUB_STEP_SUMMARY
echo "- **Tags:**" >> $GITHUB_STEP_SUMMARY
echo " - \`latest-crf\`" >> $GITHUB_STEP_SUMMARY
echo " - \`latest-develop\`" >> $GITHUB_STEP_SUMMARY
echo " - \`${{ github.event.inputs.custom_tag }}\`" >> $GITHUB_STEP_SUMMARY
echo "- **Digest:** \`${{ steps.docker_build.outputs.digest }}\`" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Usage:**" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY
echo "docker pull lfoppiano/grobid:${{ github.event.inputs.custom_tag }}" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY