name: Build and Push Docker Image on: push: branches: [dev] workflow_dispatch: jobs: build: runs-on: ubuntu-latest env: REGISTRY: docker.io IMAGE: docker.io/kim6789/chat-deploy steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Get branch name id: branch run: echo "name=${GITHUB_REF_NAME:-dev}" >> $GITHUB_OUTPUT - name: Get short SHA id: sha run: echo "short=$(echo ${GITHUB_SHA} | cut -c1-7)" >> $GITHUB_OUTPUT - name: Build and push uses: docker/build-push-action@v5 with: context: . push: true tags: | ${{ env.IMAGE }}:${{ steps.branch.outputs.name }} ${{ env.IMAGE }}:sha-${{ steps.sha.outputs.short }}