name: Docker on: push: branches: [ master ] pull_request: branches: [ master ] permissions: contents: read packages: write jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Set image name run: echo "IMAGE_NAME=ghcr.io/$GITHUB_REPOSITORY" >> $GITHUB_ENV - name: Log into GitHub Container Registry env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: echo "$GITHUB_TOKEN" | docker login ghcr.io -u "$GITHUB_ACTOR" --password-stdin - name: Get the package.json version run: | VERSION=$(jq -r .version package.json) echo "IMAGE_TAG=$VERSION" >> $GITHUB_ENV - name: Build the Docker image run: docker build . --file Dockerfile --tag "$IMAGE_NAME:$IMAGE_TAG" - name: Tag the Docker image run: docker tag "$IMAGE_NAME:$IMAGE_TAG" "$IMAGE_NAME:latest" - name: Push the Docker image run: docker push "$IMAGE_NAME" --all-tags