diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 811c24f5..c5cfd288 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -6,48 +6,57 @@ on: 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-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: + digest-3-10: ${{ steps.digest.outputs.3_10_DIGEST }} + digest-3-11: ${{ steps.digest.outputs.3_11_DIGEST }} + digest-3-12: ${{ steps.digest.outputs.3_12_DIGEST }} + digest-3-13: ${{ steps.digest.outputs.3_13_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 + - name: Summarize the Docker digest + id: digest + run: | + PY_VERSION=${{ matrix.python-version }} + PY_VERSION_MOD=$(echo $PY_VERSION | sed 's/\./_/g') + echo ${PY_VERSION_MOD}_DIGEST="${{ steps.build-docker.outputs.digest }}" >> $GITHUB_OUTPUT build-arm64: runs-on: ubuntu-latest @@ -61,10 +70,10 @@ jobs: matrix: python-version: ['3.10'] outputs: - arm64-digest-3-10: ${{ steps.digest.outputs.ARM_3_10_DIGEST }} - arm64-digest-3-11: ${{ steps.digest.outputs.ARM_3_11_DIGEST }} - arm64-digest-3-12: ${{ steps.digest.outputs.ARM_3_12_DIGEST }} - arm64-digest-3-13: ${{ steps.digest.outputs.ARM_3_13_DIGEST }} + digest-3-10: ${{ steps.digest.outputs.3_10_DIGEST }} + digest-3-11: ${{ steps.digest.outputs.3_11_DIGEST }} + digest-3-12: ${{ steps.digest.outputs.3_12_DIGEST }} + digest-3-13: ${{ steps.digest.outputs.3_13_DIGEST }} steps: - name: Checkout uses: actions/checkout@v4 @@ -97,10 +106,9 @@ jobs: - name: Summarize the Docker digest id: digest run: | - echo 'Digest: ${{ steps.build-docker.outputs.digest }}' PY_VERSION=${{ matrix.python-version }} PY_VERSION_MOD=$(echo $PY_VERSION | sed 's/\./_/g') - echo ARM_${PY_VERSION_MOD}_DIGEST="${{ steps.build-docker.outputs.digest }}" >> $GITHUB_OUTPUT + echo ${PY_VERSION_MOD}_DIGEST="${{ steps.build-docker.outputs.digest }}" >> $GITHUB_OUTPUT create-manifest: @@ -132,15 +140,13 @@ jobs: - name: Create and Push Multi-arch Manifest run: | - echo "LOL Privet from nginx unit" PY_VERSION=${{ matrix.python-version }} PY_VERSION_MOD=$(echo $PY_VERSION | sed 's/\./-/g') - echo $PY_VERSION_MOD - echo 'Digest 3UUUU: ${{ needs.build-arm64.outputs.arm64-digest-3-10 }}' + echo "Digest 3UUUU: ${{ needs.build-arm64.outputs['digest-${PY_VERSION_MOD}'] }}" echo '${{ toJSON(needs.build-arm64.outputs) }}' + echo '${{ toJSON(needs.build-amd64.outputs) }}' + ARM_SHA=${{ needs.build-arm64.outputs['digest-${PY_VERSION_MOD}'] }} + AMD_SHA=${{ needs.build-amd64.outputs['digest-${PY_VERSION_MOD}'] }} 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 create $IMAGE_NAME --amend gitea.technocloud.ee/technocloud-public/nginx-unit@${ARM_SHA} --amend gitea.technocloud.ee/technocloud-public/nginx-unit@${AMD_SHA} docker manifest push $IMAGE_NAME \ No newline at end of file