wg-easy/.github/workflows/deploy.yml

50 lines
1.4 KiB
YAML

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 }}