diff --git a/.github/workflows/manual-build-pr-docker-image.yml b/.github/workflows/manual-build-pr-docker-image.yml new file mode 100644 index 000000000..a4d7cc549 --- /dev/null +++ b/.github/workflows/manual-build-pr-docker-image.yml @@ -0,0 +1,59 @@ +name: manual-build-pr-docker-image + +on: + workflow_dispatch: + inputs: + pr_number: + description: 'Please enter a pull request number' + required: true + +jobs: + push-acr: + runs-on: ubuntu-latest + services: + verdaccio: + image: verdaccio/verdaccio + ports: + - 4873:4873 + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ssh-key: ${{ secrets.SUBMODULE_SSH_KEY }} + submodules: true + - run: gh pr checkout ${{ inputs.pr_number }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + with: + driver-opts: network=host + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + images: | + nocobase/nocobase + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + registry: ${{ secrets.ALI_DOCKER_REGISTRY }} + username: ${{ secrets.ALI_DOCKER_USERNAME }} + password: ${{ secrets.ALI_DOCKER_PASSWORD }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + file: Dockerfile.acr + build-args: | + VERDACCIO_URL=http://localhost:4873/ + COMMIT_HASH=${GITHUB_SHA} + push: true + tags: ${{ secrets.ALI_DOCKER_REGISTRY }}/${{ steps.meta.outputs.tags }}