forked from thepeacockproject/Peacock
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.cirrus.yml
79 lines (76 loc) · 2.7 KB
/
.cirrus.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
env:
# don't clone the entire repository history, saves time
CIRRUS_CLONE_DEPTH: 1
Patcher_task:
# we don't need to tell GitHub if this isn't done
skip_notifications: "!changesInclude('.cirrus.yml', '**.{cs,resx,config,settings,ico,csproj,sln}')"
# skip if patcher remains unchanged
skip: "!changesInclude('.cirrus.yml', '**.{cs,resx,config,settings,ico,csproj,sln}')"
windows_container:
image: cirrusci/windowsservercore:visualstudio2019
Build_script:
- patcher/BuildCI.cmd
Patcher_Windows_artifacts:
path: patcher/bin/x64/Release/PeacockPatcher.exe
type: application/vnd.microsoft.portable-executable
Patcher_Linux_artifacts:
path: patcher/bin/x64/Linux.Release/PeacockPatcher.exe
type: application/vnd.microsoft.portable-executable
Build_task:
container:
image: node:18-slim
cpu: 4
memory: 4gb
Yarn_cache:
folder: .yarn/cache
Yarn_Populate_script:
- yarn
Install_System_Dependencies_script:
- apt update --yes
- apt install zip jq curl --yes
Build_Modules_script:
- yarn build
Optimize_script:
- yarn optimize
Download_NodeJS_script:
- curl https://nodejs.org/dist/$(cat .nvmrc)/node-$(cat .nvmrc)-win-x64.zip -o node.zip
- unzip node.zip
- mkdir nodedist
- cp node-$(cat .nvmrc)-win-x64/node.exe nodedist/node.exe
- cp node-$(cat .nvmrc)-win-x64/LICENSE nodedist/LICENSE
Assemble_Full_script:
- ./packaging/ciAssemble.sh
Assemble_Lite_script:
- ./packaging/ciAssemble.sh lite
Peacock_Release_artifacts:
path: Peacock-v*.zip
type: application/zip
SourceMap_artifacts:
path: chunk0.js.map
task:
container:
image: node:18-slim
Yarn_cache:
folder: .yarn/cache
Yarn_Populate_script:
- yarn
Type_Check_script:
- yarn typecheck
matrix:
- only_if: $CIRRUS_TAG != ''
name: Types Publish
env:
NPM_AUTH_TOKEN: ENCRYPTED[7e0bc6b5e2d4f27aff6a60acf686376ca26abed3334738847a419e4bd8c245490caeddc81d8ce403745516e11604c094]
Install_System_Dependencies_script:
- apt update --yes
- apt install rsync --yes
Push_Types_script:
- rsync -a --include '*/' --include '*.d.ts' --exclude '*' build/ packaging/typedefs/
- yarn typedefs reversion
- yarn typedefs pack
- yarn config set npmAuthToken $NPM_AUTH_TOKEN
- yarn typedefs npm publish
- only_if: $CIRRUS_TAG == ''
name: Linting
Lint_script:
- yarn lint