summaryrefslogtreecommitdiff
path: root/Impostor-dev/.github/workflows
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-12-30 20:59:04 +0800
committerchai <chaifix@163.com>2020-12-30 20:59:04 +0800
commite9ea621b93fbb58d9edfca8375918791637bbd52 (patch)
tree19ce3b1c1f2d51eda6878c9d0f2c9edc27f13650 /Impostor-dev/.github/workflows
+init
Diffstat (limited to 'Impostor-dev/.github/workflows')
-rw-r--r--Impostor-dev/.github/workflows/docker.yml70
1 files changed, 70 insertions, 0 deletions
diff --git a/Impostor-dev/.github/workflows/docker.yml b/Impostor-dev/.github/workflows/docker.yml
new file mode 100644
index 0000000..b312075
--- /dev/null
+++ b/Impostor-dev/.github/workflows/docker.yml
@@ -0,0 +1,70 @@
+name: Docker
+
+on:
+ push:
+ branches: dev
+ paths:
+ - 'src/Impostor.Server/**'
+ - 'src/Impostor.Shared/**'
+ - '.gitmodules'
+ - '.github/workflows/docker.yml'
+ - 'Dockerfile'
+ tags:
+ - 'v*.*.*'
+ pull_request:
+ paths:
+ - 'src/Impostor.Server/**'
+ - 'src/Impostor.Shared/**'
+ - '.gitmodules'
+ - '.github/workflows/docker.yml'
+ - 'Dockerfile'
+
+jobs:
+ push_to_registry:
+ name: Push Docker image
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ submodules: true
+ - name: Prepare
+ id: prep
+ run: |
+ DOCKER_IMAGE=aeonlucid/impostor
+ VERSION=noop
+ if [[ $GITHUB_REF == refs/tags/* ]]; then
+ VERSION=${GITHUB_REF#refs/tags/}
+ elif [[ $GITHUB_REF == refs/heads/* ]]; then
+ VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g')
+ if [ "${{ github.event.repository.default_branch }}" = "dev" ]; then
+ VERSION=nightly
+ fi
+ elif [[ $GITHUB_REF == refs/pull/* ]]; then
+ VERSION=pr-${{ github.event.number }}
+ fi
+ TAGS="${DOCKER_IMAGE}:${VERSION}"
+ if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
+ TAGS="$TAGS,${DOCKER_IMAGE}:latest"
+ fi
+ echo ::set-output name=version::${VERSION}
+ echo ::set-output name=tags::${TAGS}
+ echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ')
+ - 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
+ if: github.event_name != 'pull_request'
+ uses: docker/login-action@v1
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ - name: Build and push
+ uses: docker/build-push-action@v2
+ with:
+ context: .
+ file: ./Dockerfile
+ platforms: linux/amd64,linux/arm/v7,linux/arm64
+ push: ${{ github.event_name != 'pull_request' }}
+ tags: ${{ steps.prep.outputs.tags }}