Upgrade to Aspire 13 #52
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Aspire Publish Pipeline | |
| on: | |
| push: | |
| branches: ['*'] # Trigger on any branch | |
| pull_request: | |
| branches: ['*'] # Trigger on any branch | |
| permissions: | |
| contents: read | |
| packages: write | |
| jobs: | |
| publish: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v3 | |
| - name: Set up .NET | |
| uses: actions/setup-dotnet@v3 | |
| with: | |
| dotnet-version: '10.x' | |
| - name: Install Aspire CLI | |
| run: dotnet tool install --global aspire.cli | |
| - name: Run Aspire Do Build | |
| run: aspire do build --log-level debug | |
| working-directory: AIChat.AppHost | |
| - name: Log in to GitHub Container Registry | |
| run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
| - name: Query, Tag and Push Container Images | |
| run: | | |
| BUILD_NUMBER=${{ github.run_number }} | |
| BRANCH_NAME=${{ github.ref_name }} | |
| SANITIZED_BRANCH_NAME=$(echo "$BRANCH_NAME" | sed 's#[^a-zA-Z0-9._-]#-#g') | |
| # Query docker images and find the latest chatapi and chatui images (most recently built) | |
| CHATAPI_IMAGE=$(docker images --format "{{.CreatedAt}}\t{{.Repository}}:{{.Tag}}" | grep -E $'^\t[^/]*chatapi:' | sort -r | head -n 1 | awk '{print $NF}') | |
| CHATUI_IMAGE=$(docker images --format "{{.CreatedAt}}\t{{.Repository}}:{{.Tag}}" | grep -E $'^\t[^/]*chatui:' | sort -r | head -n 1 | awk '{print $NF}') | |
| # Tag and push chatapi if found | |
| if [ -n "$CHATAPI_IMAGE" ]; then | |
| echo "Found chatapi image: $CHATAPI_IMAGE" | |
| docker tag $CHATAPI_IMAGE ghcr.io/${{ github.repository_owner }}/chatapi:${SANITIZED_BRANCH_NAME}-${BUILD_NUMBER} | |
| docker push ghcr.io/${{ github.repository_owner }}/chatapi:${SANITIZED_BRANCH_NAME}-${BUILD_NUMBER} | |
| else | |
| echo "Warning: No chatapi image found" | |
| fi | |
| # Tag and push chatui if found | |
| if [ -n "$CHATUI_IMAGE" ]; then | |
| echo "Found chatui image: $CHATUI_IMAGE" | |
| docker tag $CHATUI_IMAGE ghcr.io/${{ github.repository_owner }}/chatui:${SANITIZED_BRANCH_NAME}-${BUILD_NUMBER} | |
| docker push ghcr.io/${{ github.repository_owner }}/chatui:${SANITIZED_BRANCH_NAME}-${BUILD_NUMBER} | |
| else | |
| echo "Warning: No chatui image found" | |
| fi |