mirror of
https://github.com/thepeacockproject/Peacock
synced 2024-11-22 22:12:45 +01:00
85 lines
2.8 KiB
YAML
85 lines
2.8 KiB
YAML
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
|
|
- yarn prettier:check
|
|
- only_if: $CIRRUS_TAG == ''
|
|
name: Tests
|
|
Test_script:
|
|
- yarn test
|