name: Docker CI on: workflow_run: workflows: [Versioning] types: - completed env: GB_REGISTRY: ghcr.io jobs: build: runs-on: ubuntu-latest if: ${{ github.event.workflow_run.conclusion == 'success' }} steps: - uses: actions/checkout@v7 - name: Assign defaultValue run: | version=$(grep -m1 '^lichess_bot_version: ' lib/versioning.yml | sed -n -e 's/^.*://p' | tr -d '[:space:]') echo version="$version" >> "$GITHUB_ENV" - name: show me docker tags. run: | echo "version:'"$version"'" - name: Login to Docker Hub uses: docker/login-action@v4 with: username: ${{ secrets.DOCKER_USER }} password: ${{ secrets.DOCKER_TOKEN }} - name: Login to Github container registry uses: docker/login-action@v4 with: registry: ${{ env.GB_REGISTRY }} username: ${{ secrets.GB_REPO_USER }} password: ${{ secrets.GITHUB_TOKEN }} - name: Set up QEMU uses: docker/setup-qemu-action@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v4 - name: build and push alpine image uses: docker/build-push-action@v7 with: context: . file: ./docker/Dockerfile platforms: | linux/amd64 linux/arm64 build-args: VARIANT=-alpine push: true tags: | ${{ vars.DOCKER_ORGANIZATION }}/${{ vars.DOCKER_IMG }}:alpine ${{ vars.DOCKER_ORGANIZATION }}/${{ vars.DOCKER_IMG }}:${{ env.version }}-alpine ${{ env.GB_REGISTRY }}/${{ vars.GHCR_DOCKER_ORGANIZATION }}/${{ vars.DOCKER_IMG }}:alpine ${{ env.GB_REGISTRY }}/${{ vars.GHCR_DOCKER_ORGANIZATION }}/${{ vars.DOCKER_IMG }}:${{ env.version }}-alpine - name: build and push fat image uses: docker/build-push-action@v7 with: context: . file: ./docker/Dockerfile platforms: | linux/amd64 linux/arm64 push: true tags: | ${{ vars.DOCKER_ORGANIZATION }}/${{ vars.DOCKER_IMG }}:latest ${{ vars.DOCKER_ORGANIZATION }}/${{ vars.DOCKER_IMG }}:${{ env.version }} ${{ env.GB_REGISTRY }}/${{ vars.GHCR_DOCKER_ORGANIZATION }}/${{ vars.DOCKER_IMG }}:latest ${{ env.GB_REGISTRY }}/${{ vars.GHCR_DOCKER_ORGANIZATION }}/${{ vars.DOCKER_IMG }}:${{ env.version }} - name: push README to Dockerhub uses: peter-evans/dockerhub-description@v5 with: username: ${{ secrets.DOCKER_USER }} password: ${{ secrets.DOCKER_TOKEN }} repository: lichessbotdevs/lichess-bot short-description: 'A bridge between Lichess API and chess engines' readme-filepath: './wiki/How-to-use-the-Docker-image.md'