Skip to content

Commit e1a14ac

Browse files
committed
update based on CI/CD the long term strategy
1 parent eade701 commit e1a14ac

File tree

3 files changed

+131
-23
lines changed

3 files changed

+131
-23
lines changed

.github/workflows/app-ci.yaml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1-
name: Deploy to Production (Azure)
1+
name: APP CI/CD Pipeline
22

33
on:
44
push:
55
branches:
66
- main
7+
paths:
8+
- "app/**"
9+
tags:
10+
- v.*.*.*
711
workflow_dispatch:
812

913
jobs:
@@ -26,10 +30,10 @@ jobs:
2630
run: |
2731
if [[ $GITHUB_REF_NAME == 'refs/heads/main' ]]; then
2832
echo "DEPLOY_ENVIRONMENT=Development" >> "$GITHUB_OUTPUT"
29-
elif [[ $GITHUB_REF_NAME == 'refs/heads/develop' ]]; then
30-
echo "DEPLOY_ENVIRONMENT=Development" >> "$GITHUB_OUTPUT"
31-
elif [[ $GITHUB_REF_NAME == 'refs/heads/release' ]]; then
32-
echo "DEPLOY_ENVIRONMENT=Development" >> "$GITHUB_OUTPUT"
33+
elif [[ $GITHUB_REF_NAME == *'refs/heads/release'* ]]; then
34+
echo "DEPLOY_ENVIRONMENT=Test" >> "$GITHUB_OUTPUT"
35+
elif [[ $GITHUB_REF_NAME == *'refs/tags/v'* ]]; then
36+
echo "DEPLOY_ENVIRONMENT=Production" >> "$GITHUB_OUTPUT"
3337
else
3438
echo "DEPLOY_ENVIRONMENT=Development" >> "$GITHUB_OUTPUT"
3539
fi

.github/workflows/infra-ci.yaml

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
name: Infra CI Pipeline
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- "infra/**"
9+
10+
workflow_dispatch:
11+
12+
# To configure required secrets for connecting to Azure, simply run `azd pipeline config`
13+
14+
# Set up permissions for deploying with secretless Azure federated credentials
15+
# https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure?tabs=azure-portal%2Clinux#set-up-azure-login-with-openid-connect-authentication
16+
permissions:
17+
id-token: write
18+
contents: read
19+
20+
jobs:
21+
validate-bicep:
22+
name: "Infra Biceps Validation"
23+
runs-on: ubuntu-latest
24+
steps:
25+
- name: Checkout
26+
uses: actions/checkout@v4
27+
28+
- name: Build Bicep for linting
29+
uses: azure/CLI@v1
30+
with:
31+
inlineScript: az config set bicep.use_binary_from_path=false && az bicep build -f infra/main.bicep --stdout
32+
33+
- name: Run Microsoft Security DevOps Analysis
34+
uses: microsoft/security-devops-action@v1
35+
id: msdo
36+
continue-on-error: true
37+
with:
38+
tools: templateanalyzer
39+
40+
- name: Upload alerts to Security tab
41+
uses: github/codeql-action/upload-sarif@v2
42+
if: github.repository == 'Azure-Samples/azure-search-openai-demo-java'
43+
with:
44+
sarif_file: ${{ steps.msdo.outputs.sarifFile }}
45+
46+
47+
# deploy:
48+
# name: "Deploy Infra and App using azd"
49+
# runs-on: ubuntu-latest
50+
# environment:
51+
# name: "Development"
52+
# env:
53+
# AZURE_CLIENT_ID: ${{ vars.AZURE_CLIENT_ID }}
54+
# AZURE_TENANT_ID: ${{ vars.AZURE_TENANT_ID }}
55+
# AZURE_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }}
56+
# AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }}
57+
# steps:
58+
# - name: Checkout
59+
# uses: actions/checkout@v4
60+
61+
# - name: Install azd
62+
# uses: Azure/[email protected]
63+
64+
# - name: Log in with Azure (Federated Credentials)
65+
# if: ${{ env.AZURE_CLIENT_ID != '' }}
66+
# run: |
67+
# azd auth login `
68+
# --client-id "$Env:AZURE_CLIENT_ID" `
69+
# --federated-credential-provider "github" `
70+
# --tenant-id "$Env:AZURE_TENANT_ID"
71+
# shell: pwsh
72+
73+
# - name: Log in with Azure (Client Credentials)
74+
# if: ${{ env.AZURE_CREDENTIALS != '' }}
75+
# run: |
76+
# $info = $Env:AZURE_CREDENTIALS | ConvertFrom-Json -AsHashtable;
77+
# Write-Host "::add-mask::$($info.clientSecret)"
78+
79+
# azd auth login `
80+
# --client-id "$($info.clientId)" `
81+
# --client-secret "$($info.clientSecret)" `
82+
# --tenant-id "$($info.tenantId)"
83+
# shell: pwsh
84+
# env:
85+
# AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }}
86+
87+
# - name: Provision Infrastructure
88+
# run: azd provision --no-prompt
89+
# env:
90+
# AZURE_ENV_NAME: ${{ vars.AZURE_ENV_NAME }}
91+
# AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
92+
# AZURE_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }}
93+
# AZURE_FORMRECOGNIZER_RESOURCE_GROUP: ${{ vars.AZURE_FORMRECOGNIZER_RESOURCE_GROUP }}
94+
# AZURE_FORMRECOGNIZER_SERVICE: ${{ vars.AZURE_FORMRECOGNIZER_RESOURCE_GROUP }}
95+
# AZURE_OPENAI_RESOURCE_GROUP: ${{ vars.AZURE_FORMRECOGNIZER_SERVICE }}
96+
# AZURE_OPENAI_SERVICE: ${{ vars.AZURE_OPENAI_SERVICE }}
97+
# AZURE_RESOURCE_GROUP: ${{ vars.AZURE_RESOURCE_GROUP }}
98+
# AZURE_SEARCH_SERVICE: ${{ vars.AZURE_SEARCH_SERVICE }}
99+
# AZURE_SEARCH_SERVICE_RESOURCE_GROUP: ${{ vars.AZURE_SEARCH_SERVICE_RESOURCE_GROUP }}
100+
# AZURE_STORAGE_ACCOUNT: ${{ vars.AZURE_STORAGE_ACCOUNT }}
101+
# AZURE_STORAGE_RESOURCE_GROUP: ${{ vars.AZURE_STORAGE_RESOURCE_GROUP }}
102+
103+
# - name: Deploy Application
104+
# run: azd deploy --no-prompt
105+
# env:
106+
# AZURE_ENV_NAME: ${{ vars.AZURE_ENV_NAME }}
107+
# AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
108+
# AZURE_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }}
109+
# AZURE_FORMRECOGNIZER_RESOURCE_GROUP: ${{ vars.AZURE_FORMRECOGNIZER_RESOURCE_GROUP }}
110+
# AZURE_FORMRECOGNIZER_SERVICE: ${{ vars.AZURE_FORMRECOGNIZER_RESOURCE_GROUP }}
111+
# AZURE_OPENAI_RESOURCE_GROUP: ${{ vars.AZURE_FORMRECOGNIZER_SERVICE }}
112+
# AZURE_OPENAI_SERVICE: ${{ vars.AZURE_OPENAI_SERVICE }}
113+
# AZURE_RESOURCE_GROUP: ${{ vars.AZURE_RESOURCE_GROUP }}
114+
# AZURE_SEARCH_SERVICE: ${{ vars.AZURE_SEARCH_SERVICE }}
115+
# AZURE_SEARCH_SERVICE_RESOURCE_GROUP: ${{ vars.AZURE_SEARCH_SERVICE_RESOURCE_GROUP }}
116+
# AZURE_STORAGE_ACCOUNT: ${{ vars.AZURE_STORAGE_ACCOUNT }}
117+
# AZURE_STORAGE_RESOURCE_GROUP: ${{ vars.AZURE_STORAGE_RESOURCE_GROUP }}
118+
119+

.github/workflows/template-validation.yaml

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
name: Validate AZD template
22
on:
3-
push:
4-
branches: [ main ]
53
pull_request:
64
branches: [ main ]
75
schedule:
@@ -29,7 +27,7 @@ jobs:
2927

3028
- name: Upload alerts to Security tab
3129
uses: github/codeql-action/upload-sarif@v2
32-
if: github.repository == 'Azure-Samples/azure-search-openai-demo'
30+
if: github.repository == 'Azure-Samples/azure-search-openai-demo-java'
3331
with:
3432
sarif_file: ${{ steps.msdo.outputs.sarifFile }}
3533

@@ -42,7 +40,7 @@ jobs:
4240

4341
- name: Build React Frontend
4442
run: |
45-
echo "Building front-end and merge into Spring Boot static folder. Environment [${{ steps.set-deploy-env.outputs.DEPLOY_ENVIRONMENT }}]"
43+
echo "Building front-end and merge into Spring Boot static folder."
4644
cd ./app/frontend
4745
npm install
4846
npm run build
@@ -61,21 +59,8 @@ jobs:
6159
java-version: '17'
6260
cache: 'maven'
6361

64-
- name: Set environment for branch
65-
id: set-deploy-env
66-
run: |
67-
if [[ $GITHUB_REF_NAME == 'refs/heads/main' ]]; then
68-
echo "DEPLOY_ENVIRONMENT=Development" >> "$GITHUB_OUTPUT"
69-
elif [[ $GITHUB_REF_NAME == 'refs/heads/develop' ]]; then
70-
echo "DEPLOY_ENVIRONMENT=Development" >> "$GITHUB_OUTPUT"
71-
elif [[ $GITHUB_REF_NAME == 'refs/heads/release' ]]; then
72-
echo "DEPLOY_ENVIRONMENT=Development" >> "$GITHUB_OUTPUT"
73-
else
74-
echo "DEPLOY_ENVIRONMENT=Development" >> "$GITHUB_OUTPUT"
75-
fi
76-
7762
- name: Build Spring Boot App
7863
run: |
79-
echo "Building Spring Boot app. Environment [${{ steps.set-deploy-env.outputs.DEPLOY_ENVIRONMENT }}]"
64+
echo "Building Spring Boot app."
8065
cd ./app/backend
8166
./mvnw verify

0 commit comments

Comments
 (0)