name: Build & Publish Docker Image to Docker Hub on: workflow_dispatch: push: branches: - testing - testing/** - staging - staging/** - production - production/** schedule: - cron: "0 12 * * *" jobs: deploy: name: Build & Deploy runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: benjlevesque/short-sha@v1.2 - 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_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} # Set environment variables - run: echo GH_BRANCH=${GITHUB_REF#refs/heads/} >> $GITHUB_ENV - run: echo VERSION=$(cat package.json | jq -r .version) >> $GITHUB_ENV - run: echo DOCKER_TAGS=$(cat package.json | jq -r .docker[\"$GH_BRANCH\"].tags) >> $GITHUB_ENV - run: echo Branch ${{ env.GH_BRANCH }}, Tags ${{ env.DOCKER_TAGS }} # Build & Publish - name: Build & Publish Docker Image uses: docker/build-push-action@v2 with: push: true platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8 tags: weejewel/wg-easy:v${{ env.VERSION }}, weejewel/wg-easy:${{ env.DOCKER_TAGS }}