1
mirror of https://github.com/thepeacockproject/Peacock synced 2024-11-22 22:12:45 +01:00
Peacock/.cirrus.yml
2023-04-08 22:46:51 -04:00

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