name: Build Docker Image on: push: branches: - main schedule: - cron: '@monthly' jobs: # build-amd64: # runs-on: linux_amd # name: Build AMD64 # container: # image: catthehacker/ubuntu:act-latest # env: # DOCKER_ORG: technocloud-public # RUNNER_TOOL_CACHE: /toolcache # strategy: # matrix: # python-version: ['3.10'] # outputs: # amd64-digest-${{ matrix.python-version }}: ${{ steps.build.outputs.digest }} # steps: # - name: Checkout # uses: actions/checkout@v4 # with: # github-server-url: https://gitea.technocloud.ee # - name: Set up Docker BuildX # uses: docker/setup-buildx-action@v3 # with: # platforms: linux/amd64 # - name: Login to DockerHub # uses: docker/login-action@v3 # with: # registry: gitea.technocloud.ee # username: ${{ secrets.DOCKER_USERNAME }} # password: ${{ secrets.DOCKER_PASSWORD }} # - name: Get Meta # id: meta # run: | # echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT # - name: Build and Push AMD64 # id: build # uses: docker/build-push-action@v5 # with: # context: . # file: Dockerfile.python${{ matrix.python-version }} # platforms: linux/amd64 # push: true # provenance: false # outputs: type=image,name=gitea.technocloud.ee/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }},push-by-digest=true build-arm64: runs-on: ubuntu-latest name: Build ARM64 container: image: catthehacker/ubuntu:act-latest env: DOCKER_ORG: technocloud-public RUNNER_TOOL_CACHE: /toolcache strategy: matrix: python-version: ['3.10'] outputs: arm64-digest-${{ matrix.python-version }}: ${{ steps.build.outputs.digest }} steps: - name: Checkout uses: actions/checkout@v4 with: github-server-url: https://gitea.technocloud.ee - name: Set up Docker BuildX uses: docker/setup-buildx-action@v3 with: platforms: linux/arm64 - name: Login to DockerHub uses: docker/login-action@v3 with: registry: gitea.technocloud.ee username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Get Meta id: meta run: | echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT - name: Build and Push ARM64 id: build uses: docker/build-push-action@v6 with: context: . file: Dockerfile.python${{ matrix.python-version }} platforms: linux/arm64 push: true provenance: false outputs: type=image,name=gitea.technocloud.ee/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }},push-by-digest=true - name: Summarize the Docker digest run: | echo 'Digest: ${{ steps.build-docker.outputs.containerimage.digest }}' # create-manifest: # needs: [build-arm64] # runs-on: ubuntu-latest # name: Create Multi-arch Manifest # env: # DOCKER_ORG: technocloud-public # strategy: # matrix: # python-version: ['3.10'] # steps: # - name: Login to Docker Registry # uses: docker/login-action@v3 # with: # registry: gitea.technocloud.ee # username: ${{ secrets.DOCKER_USERNAME }} # password: ${{ secrets.DOCKER_PASSWORD }} # # - name: Set up Docker BuildX # uses: docker/setup-buildx-action@v3 # with: # driver: docker-container # # - name: Get Repository Metadata # id: meta # run: | # echo "REPO_NAME=${GITHUB_REPOSITORY}" >> $GITHUB_OUTPUT # # - name: Create and Push Multi-arch Manifest # run: | # echo "LOL Privet from nginx unit" # IMAGE_NAME=gitea.technocloud.ee/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:python${{ matrix.python-version }} # echo $IMAGE_NAME # echo ${{ steps.meta.outputs }} # docker manifest create $IMAGE_NAME --amend gitea.technocloud.ee/technocloud-public/nginx-unit@sha256:3aabfbb49990a4f44a1b2a9c34c3a68b503b46fb5fdf30a8d520bc9c2a7e3558 # echo "Vse rabotaet?" # docker manifest push $IMAGE_NAME