diff --git a/.github/workflows/docker-dev.yml b/.github/workflows/docker-dev.yml new file mode 100644 index 00000000..ce7e21eb --- /dev/null +++ b/.github/workflows/docker-dev.yml @@ -0,0 +1,51 @@ +name: Build and push dev-build docker image + +on: + push: + tags: + - 3.* # on push releast with tag 3.* + branches: + - master + workflow_dispatch: # on button click + +jobs: + dev-docker-build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + clean: false + submodules: "recursive" + - name: Setup Environments + id: envs + run: | + CLOUDREVE_LATEST_VERSION=$(git tag -l --sort=-creatordate | head -n 1) + DOCKER_IMAGE="cloudreve/cloudreve" + TAGS="${DOCKER_IMAGE}:latest,${DOCKER_IMAGE}:${CLOUDREVE_LATEST_VERSION}" + + echo ::set-output name=tags::${TAGS} + - name: Setup QEMU Emulator + uses: docker/setup-qemu-action@master + with: + platforms: all + - name: Setup Docker Buildx Command + id: buildx + uses: docker/setup-buildx-action@master + - name: Login to Dockerhub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build Docker Image and Push + id: docker_build + uses: docker/build-push-action@v2 + with: + push: true + builder: ${{ steps.buildx.outputs.name }} + context: . + file: ./Dockerfile + platforms: linux/amd64,linux/arm64,linux/arm/v7 + tags: ${{ steps.envs.outputs.tags }} + - name: Image Digest + run: echo ${{ steps.docker_build.outputs.digest }}