|
1 | | -name: Docker Build Job |
| 1 | +name: Build & Push Test Images (Feature Branch) |
2 | 2 | on: |
3 | 3 | workflow_call: |
4 | | - inputs: |
5 | | - trigger_type: |
6 | | - description: 'Trigger type (workflow_dispatch, pull_request, schedule)' |
7 | | - required: true |
8 | | - type: string |
9 | | - build_docker_image: |
10 | | - description: 'Build And Push Docker Image (Optional)' |
11 | | - required: false |
12 | | - default: false |
13 | | - type: boolean |
14 | 4 | outputs: |
15 | 5 | IMAGE_TAG: |
16 | 6 | description: "Generated Docker Image Tag" |
17 | 7 | value: ${{ jobs.docker-build.outputs.IMAGE_TAG }} |
| 8 | + workflow_dispatch: |
| 9 | + |
| 10 | +permissions: |
| 11 | + contents: read |
| 12 | + id-token: write |
18 | 13 |
|
19 | 14 | env: |
20 | 15 | BRANCH_NAME: ${{ github.event.workflow_run.head_branch || github.head_ref || github.ref_name }} |
21 | 16 |
|
22 | 17 | jobs: |
23 | 18 | docker-build: |
24 | | - if: inputs.trigger_type == 'workflow_dispatch' && inputs.build_docker_image == true |
25 | 19 | runs-on: ubuntu-latest |
26 | 20 | environment: production |
27 | 21 | outputs: |
|
55 | 49 | subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} |
56 | 50 |
|
57 | 51 | - name: Log in to Azure Container Registry |
58 | | - run: az acr login --name ${{ secrets.ACR_TEST_LOGIN_SERVER }} |
| 52 | + shell: bash |
| 53 | + run: | |
| 54 | + # Extract registry name from login server (e.g., myacr.azurecr.io -> myacr) |
| 55 | + ACR_NAME=$(echo "${{ vars.ACR_TEST_LOGIN_SERVER }}" | cut -d'.' -f1) |
| 56 | + az acr login --name "$ACR_NAME" |
59 | 57 |
|
60 | 58 | - name: Build and optionally push Backend Docker image |
61 | 59 | uses: docker/build-push-action@v7 |
|
66 | 64 | file: ./src/backend/Dockerfile |
67 | 65 | push: true |
68 | 66 | tags: | |
69 | | - ${{ secrets.ACR_TEST_LOGIN_SERVER }}/macaebackend:${{ steps.generate_docker_tag.outputs.IMAGE_TAG }} |
70 | | - ${{ secrets.ACR_TEST_LOGIN_SERVER }}/macaebackend:${{ steps.generate_docker_tag.outputs.IMAGE_TAG }}_${{ github.run_number }} |
| 67 | + ${{ vars.ACR_TEST_LOGIN_SERVER }}/macaebackend:${{ steps.generate_docker_tag.outputs.IMAGE_TAG }} |
| 68 | + ${{ vars.ACR_TEST_LOGIN_SERVER }}/macaebackend:${{ steps.generate_docker_tag.outputs.IMAGE_TAG }}_${{ github.run_number }} |
71 | 69 |
|
72 | 70 | - name: Build and optionally push Frontend Docker image |
73 | 71 | uses: docker/build-push-action@v7 |
|
78 | 76 | file: ./src/App/Dockerfile |
79 | 77 | push: true |
80 | 78 | tags: | |
81 | | - ${{ secrets.ACR_TEST_LOGIN_SERVER }}/macaefrontend:${{ steps.generate_docker_tag.outputs.IMAGE_TAG }} |
82 | | - ${{ secrets.ACR_TEST_LOGIN_SERVER }}/macaefrontend:${{ steps.generate_docker_tag.outputs.IMAGE_TAG }}_${{ github.run_number }} |
| 79 | + ${{ vars.ACR_TEST_LOGIN_SERVER }}/macaefrontend:${{ steps.generate_docker_tag.outputs.IMAGE_TAG }} |
| 80 | + ${{ vars.ACR_TEST_LOGIN_SERVER }}/macaefrontend:${{ steps.generate_docker_tag.outputs.IMAGE_TAG }}_${{ github.run_number }} |
83 | 81 | - name: Build and optionally push MCP Docker image |
84 | 82 | uses: docker/build-push-action@v7 |
85 | 83 | env: |
|
89 | 87 | file: ./src/mcp_server/Dockerfile |
90 | 88 | push: true |
91 | 89 | tags: | |
92 | | - ${{ secrets.ACR_TEST_LOGIN_SERVER }}/macaemcp:${{ steps.generate_docker_tag.outputs.IMAGE_TAG }} |
93 | | - ${{ secrets.ACR_TEST_LOGIN_SERVER }}/macaemcp:${{ steps.generate_docker_tag.outputs.IMAGE_TAG }}_${{ github.run_number }} |
| 90 | + ${{ vars.ACR_TEST_LOGIN_SERVER }}/macaemcp:${{ steps.generate_docker_tag.outputs.IMAGE_TAG }} |
| 91 | + ${{ vars.ACR_TEST_LOGIN_SERVER }}/macaemcp:${{ steps.generate_docker_tag.outputs.IMAGE_TAG }}_${{ github.run_number }} |
94 | 92 | - name: Verify Docker Image Build |
95 | 93 | shell: bash |
96 | 94 | run: | |
|
101 | 99 | if: always() |
102 | 100 | shell: bash |
103 | 101 | run: | |
104 | | - ACR_NAME=$(echo "${{ secrets.ACR_TEST_LOGIN_SERVER }}") |
| 102 | + ACR_NAME=$(echo "${{ vars.ACR_TEST_LOGIN_SERVER }}") |
105 | 103 | echo "## 🐳 Docker Build Job Summary" >> $GITHUB_STEP_SUMMARY |
106 | 104 | echo "" >> $GITHUB_STEP_SUMMARY |
107 | 105 | echo "| Field | Value |" >> $GITHUB_STEP_SUMMARY |
|
0 commit comments