-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathazure-static-web-apps-conformance-rules-editor.yml
More file actions
142 lines (128 loc) · 4.68 KB
/
Copy pathazure-static-web-apps-conformance-rules-editor.yml
File metadata and controls
142 lines (128 loc) · 4.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
name: Azure Static Web Apps CI/CD
on:
push:
branches:
- main
- dev
pull_request:
types: [opened, synchronize, reopened, closed]
branches:
- main
workflow_dispatch:
jobs:
build_and_deploy_prod_job:
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
name: Build and Deploy Prod Job
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Build And Deploy Prod
id: builddeployprod
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_CONFORMANCE_RULES_EDITOR_PROD }}
repo_token: ${{ secrets.GITHUB_TOKEN }}
action: "upload"
production_branch: "main"
app_location: "/"
api_location: "/api"
output_location: "build"
env:
NPM_CONFIG_LEGACY_PEER_DEPS: true
build_and_deploy_preview:
if: (github.event_name == 'pull_request' && github.event.action != 'closed') || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
name: Build and Deploy Preview
outputs:
preview_url: ${{ steps.builddeploypreview.outputs.static_web_app_url }}
steps:
- uses: actions/checkout@v3
with:
submodules: true
ref: ${{ github.head_ref || github.ref_name }}
- name: Use preview config for PR
run: |
cp staticwebapp.preview.config.json staticwebapp.config.json
echo "Using preview configuration for this deployment"
- name: Build And Deploy Preview
id: builddeploypreview
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_CONFORMANCE_RULES_EDITOR_PROD }}
repo_token: ${{ secrets.GITHUB_TOKEN }}
action: "upload"
app_location: "/"
api_location: "/api"
output_location: "build"
config_file_location: "/"
production_branch: ${{ github.ref_name }}
app_build_command: "npm install --force && npm run build"
env:
NPM_CONFIG_LEGACY_PEER_DEPS: true
- name: Print commit SHA
run: |
echo "Commit ID: ${GITHUB_SHA}"
test_rule_editor_job:
needs: build_and_deploy_preview
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
name: Test Rule Editor on Preview
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Ensure setuptools is installed
run: python -m pip install --upgrade "pip<25" "setuptools<82"
- name: Install Dependencies
run: |
pip install requests selenium webdriver-manager pyperclip==1.9.0 selenium-wire blinker==1.4 brotli
- name: Run Selenium Test on Preview
env:
RULE_EDITOR_URL: ${{ needs.build_and_deploy_preview.outputs.preview_url }}
run: |
echo "Testing on Preview Deployment: $RULE_EDITOR_URL"
python tests/test_rule_editor.py
- name: Upload Selenium screenshots
if: always()
uses: actions/upload-artifact@v4
with:
name: rule-editor-screenshots
path: screenshots/
if-no-files-found: ignore
retention-days: 3
build_and_deploy_training_job:
if: github.ref_name == 'main' && (github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') || github.event_name == 'workflow_dispatch')
runs-on: ubuntu-latest
name: Build and Deploy Training Job
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Build And Deploy Training
id: builddeploytraining
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_CONFORMANCE_RULES_EDITOR_TRAINING }}
repo_token: ${{ secrets.GITHUB_TOKEN }}
action: "upload"
app_location: "/"
api_location: "/api"
output_location: "build"
env:
NPM_CONFIG_LEGACY_PEER_DEPS: true
close_pull_request_job:
if: github.event_name == 'pull_request' && github.event.action == 'closed'
runs-on: ubuntu-latest
name: Close Pull Request Job
steps:
- name: Close Pull Request
id: closepullrequest
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_CONFORMANCE_RULES_EDITOR_PROD }}
action: "close"