Skip to content

Commit 450e2ad

Browse files
authored
Merge pull request #40 from Azure-Samples/fix-actions-flows
Fix Tests run on daily schedule #31
2 parents ae612e9 + e1a14ac commit 450e2ad

File tree

5 files changed

+213
-48
lines changed

5 files changed

+213
-48
lines changed

.github/workflows/app-ci.yaml

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
1-
# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
2-
# More GitHub Actions for Azure: https://github.com/Azure/actions
3-
# More info on Python, GitHub Actions, and Azure App Service: https://aka.ms/python-webapps-actions
4-
5-
name: App Continuous Integration pipeline
1+
name: APP CI/CD Pipeline
62

73
on:
84
push:
95
branches:
10-
- app-ci-github-actions
116
- main
12-
pull_request:
13-
branches: [ main ]
7+
paths:
8+
- "app/**"
9+
tags:
10+
- v.*.*.*
1411
workflow_dispatch:
1512

1613
jobs:
@@ -33,10 +30,10 @@ jobs:
3330
run: |
3431
if [[ $GITHUB_REF_NAME == 'refs/heads/main' ]]; then
3532
echo "DEPLOY_ENVIRONMENT=Development" >> "$GITHUB_OUTPUT"
36-
elif [[ $GITHUB_REF_NAME == 'refs/heads/develop' ]]; then
37-
echo "DEPLOY_ENVIRONMENT=Development" >> "$GITHUB_OUTPUT"
38-
elif [[ $GITHUB_REF_NAME == 'refs/heads/release' ]]; then
39-
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"
4037
else
4138
echo "DEPLOY_ENVIRONMENT=Development" >> "$GITHUB_OUTPUT"
4239
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/infra-validation.yaml

Lines changed: 0 additions & 36 deletions
This file was deleted.

.github/workflows/stale-bot.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: 'Close stale issues and PRs'
2+
on:
3+
schedule:
4+
- cron: '30 1 * * *'
5+
6+
jobs:
7+
stale:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/stale@v8
11+
with:
12+
stale-issue-message: 'This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this issue will be closed.'
13+
stale-pr-message: 'This PR is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed.'
14+
close-issue-message: 'This issue was closed because it has been stalled for 7 days with no activity.'
15+
close-pr-message: 'This PR was closed because it has been stalled for 10 days with no activity.'
16+
days-before-issue-stale: 60
17+
days-before-pr-stale: 60
18+
days-before-issue-close: -1
19+
days-before-pr-close: -1
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: Validate AZD template
2+
on:
3+
pull_request:
4+
branches: [ main ]
5+
schedule:
6+
- cron: '0 0 * * *' # Run at midnight every day
7+
8+
jobs:
9+
infra:
10+
name: "Infra Biceps Validation"
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v4
15+
16+
- name: Build Bicep for linting
17+
uses: azure/CLI@v1
18+
with:
19+
inlineScript: az config set bicep.use_binary_from_path=false && az bicep build -f infra/main.bicep --stdout
20+
21+
- name: Run Microsoft Security DevOps Analysis
22+
uses: microsoft/security-devops-action@v1
23+
id: msdo
24+
continue-on-error: true
25+
with:
26+
tools: templateanalyzer
27+
28+
- name: Upload alerts to Security tab
29+
uses: github/codeql-action/upload-sarif@v2
30+
if: github.repository == 'Azure-Samples/azure-search-openai-demo-java'
31+
with:
32+
sarif_file: ${{ steps.msdo.outputs.sarifFile }}
33+
34+
frontend:
35+
name: "Front-end validation"
36+
runs-on: ubuntu-latest
37+
steps:
38+
- name: Checkout
39+
uses: actions/checkout@v4
40+
41+
- name: Build React Frontend
42+
run: |
43+
echo "Building front-end and merge into Spring Boot static folder."
44+
cd ./app/frontend
45+
npm install
46+
npm run build
47+
48+
backend:
49+
name: "Backend validation"
50+
runs-on: ubuntu-latest
51+
steps:
52+
- name: Checkout
53+
uses: actions/checkout@v4
54+
55+
- name: Set up Java version
56+
uses: actions/setup-java@v2
57+
with:
58+
distribution: 'microsoft'
59+
java-version: '17'
60+
cache: 'maven'
61+
62+
- name: Build Spring Boot App
63+
run: |
64+
echo "Building Spring Boot app."
65+
cd ./app/backend
66+
./mvnw verify

0 commit comments

Comments
 (0)