name: Build and push docker images on: push: branches: [main] paths: - ".github/workflows/docker.yml" workflow_run: workflows: ["Release Linux"] types: - completed env: VERSION: 0.9.0 jobs: build: if: ${{ github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Get Version run: | echo VERSION=$(cat share/const.go |grep 'const VERSION' | awk '{print $4}' | sed "s/\"//g") >> $GITHUB_ENV - name: Check Version run: echo $VERSION - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Login to DockerHub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKER_USER }} password: ${{ secrets.DOCKER_TOKEN }} - name: Build Development uses: docker/build-push-action@v2 with: context: ./docker/development platforms: linux/amd64 build-args: | VERSION=${{ env.VERSION }} ARCH=amd64 push: true tags: yaoapp/yao:${{ env.VERSION }}-amd64-dev - name: Build Development Arm64 uses: docker/build-push-action@v2 with: context: ./docker/development platforms: linux/arm64 build-args: | VERSION=${{ env.VERSION }} ARCH=arm64 push: true tags: yaoapp/yao:${{ env.VERSION }}-arm64-dev - name: Build Production uses: docker/build-push-action@v2 with: context: ./docker/production platforms: linux/amd64 build-args: | VERSION=${{ env.VERSION }} ARCH=amd64 push: true tags: yaoapp/yao:${{ env.VERSION }}-amd64 - name: Build Production Arm64 uses: docker/build-push-action@v2 with: context: ./docker/production platforms: linux/arm64 build-args: | VERSION=${{ env.VERSION }} ARCH=arm64 push: true tags: yaoapp/yao:${{ env.VERSION }}-arm64