name: Publish Docker Images to GHCR on: push: tags: - '*' jobs: publish: runs-on: ubuntu-latest permissions: contents: read packages: write steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Docker Buildx id: buildx uses: docker/setup-buildx-action@v3 - name: Login to GHCR uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Extract Version from Tag id: extract_version run: | VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') echo "VERSION=$VERSION" >> $GITHUB_OUTPUT - name: Build and Push Docker Images run: | VERSION=${{ steps.extract_version.outputs.VERSION }} API_IMAGE_NAME=ghcr.io/${{ github.repository_owner }}/rahanna-api UI_IMAGE_NAME=ghcr.io/${{ github.repository_owner }}/rahanna-ui make docker-api docker tag rahanna-api:latest "$API_IMAGE_NAME:latest" docker push "$API_IMAGE_NAME:latest" docker tag rahanna-api:latest "$API_IMAGE_NAME:$VERSION" docker push "$API_IMAGE_NAME:$VERSION" make docker-ui docker tag rahanna-ui:latest "$UI_IMAGE_NAME:latest" docker push "$UI_IMAGE_NAME:latest" docker tag rahanna-ui:latest "$UI_IMAGE_NAME:$VERSION" docker push "$UI_IMAGE_NAME:$VERSION"