From da4e483d801672823086db39ddceaefee2ce001c Mon Sep 17 00:00:00 2001 From: binary-husky <96192199+binary-husky@users.noreply.github.com> Date: Sun, 7 May 2023 16:08:03 +0800 Subject: [PATCH] Update docker-image.yml --- .github/workflows/docker-image.yml | 45 +++++++++++++++++------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 0e7169d..b3f62b1 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -1,39 +1,44 @@ -name: Build and push Docker image +# https://docs.github.com/en/actions/publishing-packages/publishing-docker-images#publishing-images-to-github-packages +name: Create and publish a Docker image on: push: branches: - - master + - 'master' env: - DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} - DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} - IMAGE_NAME: gpt-academic-nolocal + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} jobs: - build-and-push: + build-and-push-image: runs-on: ubuntu-latest + permissions: + contents: read + packages: write steps: - # Checkout the repository - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 - # Configure Docker Buildx - - name: Configure Docker Buildx - run: | - docker buildx create --name builder - docker buildx use builder + - name: Log in to the Container registry + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - # Set up GitHub Packages registry - - name: Set up GitHub Packages registry - run: echo "${DOCKER_PASSWORD}" | docker login ghcr.io -u "${DOCKER_USERNAME}" --password-stdin + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - # Build and push the Docker image - name: Build and push Docker image - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v4 with: context: . - dockerfile: docs/DockerfileNoLocal push: true - tags: ghcr.io/${{ github.repository }}/${{ env.IMAGE_NAME }}:latest + dockerfile: docs/Dockerfile+NoLocal + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}