diff options
author | chai <chaifix@163.com> | 2020-12-30 20:59:04 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2020-12-30 20:59:04 +0800 |
commit | e9ea621b93fbb58d9edfca8375918791637bbd52 (patch) | |
tree | 19ce3b1c1f2d51eda6878c9d0f2c9edc27f13650 /Impostor-dev/.github/workflows |
+init
Diffstat (limited to 'Impostor-dev/.github/workflows')
-rw-r--r-- | Impostor-dev/.github/workflows/docker.yml | 70 |
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 }} |