-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathappveyor.yml
115 lines (97 loc) · 2.84 KB
/
appveyor.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
# https://www.appveyor.com/docs/getting-started-with-appveyor-for-linux/#running-windows-and-linux-builds-side-by-side
# https://www.appveyor.com/blog/2017/08/01/sharing-configuration-between-branches-in-appveyor-yml/
version: '{build}'
skip_tags: true
branches:
only:
- master
- wip/master
for:
-
branches:
only:
- master
environment:
PRERELEASE: false
-
branches:
only:
- wip/master
environment:
PRERELEASE: true
image:
- Visual Studio 2019
- macos-bigsur
install:
- uname
- env
- npm version
- node --version
# on macOS, select Node version using nvm.
- sh: nvm ls
- sh: nvm use 16
# on Windows, select Node version using PowerShell Install-Product.
- ps: |
if ($env:CI_WINDOWS -eq $true) {
# https://www.appveyor.com/docs/lang/nodejs-iojs/
Install-Product node 16.8.0
}
- npm version
- node --version
- git submodule init
- git submodule update
- git status --porcelain
- ps:
- ps: $env:SUFFIX = $(git log -1 --format=%cd-%h --date=format:%Y%m%d-%H%M%S $env:APPVEYOR_REPO_COMMIT)
- ps: $env:RELEASE_NAME="beeblink-$env:SUFFIX"
- ps: |
if ($env:PRERELEASE -eq $true) {
$env:RELEASE_NAME="$env:RELEASE_NAME-prerelease"
}
build_script:
- ps: pwd
- ps: Push-Location
- ps: |
if ($env:CI_WINDOWS -eq $true) {
$env:ZIP=$ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("$env:RELEASE_NAME-windows.zip")
} elseif ($env:CI_MACOS -eq $true) {
$env:ZIP=$ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("$env:RELEASE_NAME-macos.zip")
}
- ps: cd ./beeb
- git status --porcelain
- ps: |
if ($env:CI_WINDOWS -eq $true) {
../tools/snmake roms CI_BUILD=1
} elseif ($env:CI_MACOS -eq $true) {
make roms CI_BUILD=1 TASS=../tools/64tass
}
- ps: cd .build
- ps: 7z a $env:ZIP beeblink_avr_fe60.rom beeblink_tube_serial.rom beeblink_tube_serial_safe.rom beeblink_upurs_fe60.rom beeblink_tube_serial_electron.rom beeblink_tube_serial_safe_electron.rom
- ps: Pop-Location
- ps: 7z a $env:ZIP volumes
- ps: Push-Location
- ps: cd ./server
- npm install
- npm run compile
- ps: |
pwd
if ($env:CI_WINDOWS -eq $true) {
./node_modules/.bin/pkg -t win .
7z a $env:ZIP beeblink-server.exe
} elseif ($env:CI_MACOS -eq $true) {
./node_modules/.bin/pkg -t macos-x64 .
7z a $env:ZIP beeblink-server
}
Push-AppveyorArtifact $env:ZIP -DeploymentName output
- ps: Pop-Location
# artifacts:
# - path: $(OUTPUT_NAME)
# name: output
deploy:
- release: $(RELEASE_NAME)
provider: GitHub
auth_token:
secure: T5CPAJmNl5j/eAVlQln8WoiFKTDkq2ebT9Y/PbWRbMIa4GFyov+t5QdqlU0O2sY9
artifact: output
draft: false
prerelease: $(PRERELEASE)