DocSpace-buildtools/.github/workflows/4testing-multi-build.yml

54 lines
1.5 KiB
YAML

name: 4testing multiarch-build
on:
push:
branches:
- 'hotfix/v**'
- 'release/v**'
env:
DOCKER_PATH: "/build/install/docker"
REPO: "onlyoffice"
DOCKER_IMAGE_PREFIX: "4testing-docspace"
DOCKERFILE: "Dockerfile.app"
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
platform: [linux/amd64]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build 4testing
run: |
cd .${DOCKER_PATH}
TAG=${{github.run_number}}
export DOCKER_TAG=$(echo "${GITHUB_REF_NAME}" | sed '/^release\b\|^hotfix\b/s/release.*\/\|hotfix.*\///')
docker buildx bake -f build.yml \
--set *.args.GIT_BRANCH=$GITHUB_REF_NAME \
--set *.platform=linux/amd64 \
--load
DOCKER_IMAGES=$(docker images --format "{{.Repository}}:{{.Tag}}" | grep "$REPO" | tr '\n' ' ')
IFS=" " read -a IMAGES <<< "$DOCKER_IMAGES"
for IMAGE in ${IMAGES[@]}; do
NEW_IMAGE="$IMAGE"-"$TAG"
docker push "$IMAGE"
docker tag "$IMAGE" "$NEW_IMAGE"
docker push "$NEW_IMAGE"
done
shell: bash