### This workflow setup instance then build and push images ### name: Multi-arch build stable on: workflow_dispatch: inputs: tag: description: 'Tag for release (ex. 1.2.3.45)' type: string required: true env: COMPANY_NAME: "onlyoffice" PRODUCT_NAME: "documentserver" jobs: build: name: "Release image: DocumentServer${{ matrix.edition }}" runs-on: ubuntu-latest strategy: fail-fast: false matrix: images: ["documentserver-stable"] edition: ["", "-ee", "-de"] steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Login to Docker Hub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - name: Build documentserver-release run: | set -eux VERSION=${{ github.event.inputs.tag }} PRODUCT_EDITION=${{ matrix.edition }} TESTING_IMAGE=${COMPANY_NAME}/4testing-${PRODUCT_NAME}${PRODUCT_EDITION} export PRODUCT_EDITION export TAG=${VERSION} export SHORTER_TAG=${VERSION%.*} export SHORTEST_TAG=${VERSION%.*.*} docker buildx bake -f docker-bake.hcl ${{ matrix.images }} --push echo "DONE: Build success >> exit with 0" exit 0 shell: bash build-nonexample: name: "Release image: DocumentServer${{ matrix.edition }}-nonExample" runs-on: ubuntu-latest needs: [build] if: ${{ false }} strategy: fail-fast: false matrix: images: ["documentserver-nonexample"] edition: ["", "-ee", "-de"] steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Login to Docker Hub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - name: build image run: | set -eux export PRODUCT_EDITION=${{ matrix.edition }} export TAG=${{ github.event.inputs.tag }} docker buildx bake -f docker-bake.hcl ${{ matrix.images }} --push shell: bash build-ucs-ubuntu20: name: "Release image: DocumentServer${{ matrix.edition }}-ucs" runs-on: ubuntu-latest strategy: fail-fast: false matrix: edition: ["", "-ee"] steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Login to Docker Hub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - name: build UCS run: | set -eux export PRODUCT_EDITION=${{ matrix.edition }} export PACKAGE_BASEURL=${{ secrets.REPO_BASEURL }}/test export DOCKERFILE=Dockerfile export BASE_IMAGE=ubuntu:20.04 export PG_VERSION=12 export TAG=${{ github.event.inputs.tag }} export PACKAGE_VERSION=$( echo ${TAG} | sed -E 's/(.*)\./\1-/')~stretch docker buildx bake -f docker-bake.hcl documentserver-ucs --push shell: bash