From 95a681aa8c46c67f2ca8abb377b39f56952fb6a8 Mon Sep 17 00:00:00 2001 From: Robert Sachunsky Date: Tue, 1 Apr 2025 01:27:10 +0200 Subject: [PATCH] add Continuous Deployment via Dockerhub and GHCR --- .dockerignore | 6 ++++ .github/workflows/build-docker.yml | 44 ++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 .dockerignore create mode 100644 .github/workflows/build-docker.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..562fb6f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +tests +dist +build +env* +*.egg-info +models_eynollah* diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml new file mode 100644 index 0000000..d77958b --- /dev/null +++ b/.github/workflows/build-docker.yml @@ -0,0 +1,44 @@ +name: CD + +on: + push: + branches: [ "master" ] + workflow_dispatch: # run manually + +jobs: + + build: + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + steps: + - 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 + # build both tags at the same time + run: make docker DOCKER_TAG="docker.io/ocrd/eynollah -t ghcr.io/qurator-spk/eynollah" + - name: Test the Docker image + run: docker run --rm ocrd/eynollah ocrd-eynollah-segment -h + - name: Push to Dockerhub + run: docker push docker.io/ocrd/eynollah + - name: Push to Github Container Registry + run: docker push ghcr.io/qurator-spk/eynollah