📝 changelog #189
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Docker Image CI | |
on: | |
push: | |
branches: [ "master" ] | |
workflow_dispatch: # run manually | |
env: | |
# FIXME: linux/arm/v7 disabled as long as scikit-build/cmake-python-distributions#503 is unresolved | |
# PLATFORMS: linux/amd64,linux/arm/v7,linux/arm64/v8,linux/ppc64le | |
PLATFORMS: linux/amd64,linux/arm64/v8,linux/ppc64le | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
permissions: | |
packages: write | |
contents: read | |
env: | |
DOCKER_BASE_TAG: ghcr.io/ocr-d docker.io/ocrd | |
# TODO(kba): make the interpolation work correctly | |
# DOCKER_BUILD: docker buildx build --progress=plain --platform ${{ env.PLATFORMS }} --push | |
# TODO(kba): Investigate why ppc64le build hangs on "Installing build dependencies" | |
# TODO(kba): Investigate why arm64 fails with .buildkit_qemu_emulator: /usr/local/bin/conda: Invalid ELF image for this architecture | |
DOCKER_BUILD: docker buildx build --progress=plain --platform linux/amd64 --push | |
steps: | |
- name: Export variables | |
run: | | |
echo "DOCKER_BASE_TAG=${{ env.DOCKER_BASE_TAG }}" >> $GITHUB_ENV | |
echo "DOCKER_BUILD=${{ env.DOCKER_BUILD }}" >> $GITHUB_ENV | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
# we need tags for docker version tagging | |
fetch-tags: true | |
fetch-depth: 0 | |
- # Activate cache export feature to reduce build time of images | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Log in to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERIO_USERNAME }} | |
password: ${{ secrets.DOCKERIO_PASSWORD }} | |
- name: Build the Docker image | |
run: make docker | |
- name: Build the Docker image with GPU support | |
run: make docker-cuda | |
- name: Build the Docker images with GPU support and ML frameworks | |
run: make docker-cuda-tf1 docker-cuda-tf2 docker-cuda-torch |