-
Notifications
You must be signed in to change notification settings - Fork 3.5k
134 lines (134 loc) · 4.24 KB
/
dev.yml
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
name: dev
on:
push:
branches-ignore:
- 'cesium.com'
- production
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: install node 20
uses: actions/setup-node@v3
with:
node-version: '20'
- name: npm install
run: npm install
- name: lint *.js
run: npm run eslint
- name: lint *.md
run: npm run markdownlint
- name: format code
run: npm run prettier-check
coverage:
runs-on: ubuntu-latest
env:
AWS_ACCESS_KEY_ID: ${{ secrets.DEV_AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.DEV_AWS_SECRET_ACCESS_KEY }}
AWS_REGION: us-east-1
BRANCH: ${{ github.ref_name }}
steps:
- uses: actions/checkout@v3
- name: install node 18
uses: actions/setup-node@v3
with:
node-version: '18'
- name: npm install
run: npm install
- name: build
run: npm run build
- name: coverage (firefox)
run: npm run coverage -- --browsers FirefoxHeadless --webgl-stub --failTaskOnError --suppressPassed
- name: upload coverage artifacts
if: ${{ env.AWS_ACCESS_KEY_ID != '' }}
run: aws s3 sync ./Build/Coverage s3://cesium-public-builds/cesium/$BRANCH/Build/Coverage --delete --color on
release-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: install node 18
uses: actions/setup-node@v3
with:
node-version: '18'
- name: npm install
run: npm install
- name: release build
run: npm run build-release
- name: release tests (chrome)
run: npm run test -- --browsers ChromeHeadless --failTaskOnError --webgl-stub --release --suppressPassed
- name: cloc
run: npm run cloc
deploy:
runs-on: ubuntu-latest
permissions:
statuses: write
contents: read
env:
BUILD_VERSION: ${{ github.ref_name }}.${{ github.run_number }}
AWS_ACCESS_KEY_ID: ${{ secrets.DEV_AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.DEV_AWS_SECRET_ACCESS_KEY }}
AWS_REGION: us-east-1
BRANCH: ${{ github.ref_name }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPO: ${{ github.repository }}
GITHUB_SHA: ${{ github.sha }}
steps:
- uses: actions/checkout@v3
- name: install node 18
uses: actions/setup-node@v3
with:
node-version: '18'
- name: npm install
run: npm install
- name: set the version in package.json
run: npm run deploy-set-version -- --buildVersion $BUILD_VERSION
- name: create release zip
run: npm run make-zip
- name: package cesium module
run: npm pack &> /dev/null
- name: package workspace modules
run: npm pack --workspaces &> /dev/null
- name: build apps
run: npm run build-apps
- uses: ./.github/actions/verify-package
- name: deploy to s3
if: ${{ env.AWS_ACCESS_KEY_ID != '' }}
run: |
aws s3 sync . s3://cesium-public-builds/cesium/$BRANCH/ \
--cache-control "no-cache" \
--exclude ".git/*" \
--exclude ".concierge/*" \
--exclude ".github/*" \
--exclude ".husky/*" \
--exclude ".vscode/*" \
--exclude "Build/Coverage/*" \
--exclude "Build/CesiumDev/*" \
--exclude "Documentation/*" \
--exclude "node_modules/*" \
--exclude "scripts/*" \
--exclude "Tools/*" \
--delete
- name: set status
if: ${{ env.AWS_ACCESS_KEY_ID != '' }}
run: npm run deploy-status -- --status success --message Deployed
node-16:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: install node 18
uses: actions/setup-node@v3
with:
node-version: '18'
- name: npm install
run: npm install
- name: release build
run: npm run build-release
- name: package cesium module
run: npm pack &> /dev/null
- name: package workspace modules
run: npm pack --workspaces &> /dev/null
- uses: ./.github/actions/verify-package