forked from CosmosOS/Cosmos
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
87 lines (68 loc) · 2.54 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
version: 0.20221121.{build}
image: Visual Studio 2022
configuration: Debug-CI
platform: Any CPU
clone_folder: c:\Cosmos
init:
- cmd: |
git clone https://github.com/CosmosOS/IL2CPU.git c:\IL2CPU --depth 1
install:
- ps: |
$range = "$env:APPVEYOR_REPO_BRANCH..$env:APPVEYOR_PULL_REQUEST_HEAD_COMMIT"
if (-not (git diff --name-only --diff-filter=d $range | Where-Object { $_ -NotMatch ".git*|md|yml|txt$" })) {
Write-Host "Only metafiles were modified, skipping CI run."
Exit-AppVeyorBuild
}
build_script:
- cmd: |
rem %APPVEYOR_BUILD_FOLDER%
msbuild Build.sln /t:Restore;Build /maxcpucount /verbosity:normal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /p:Net48=True
dotnet publish ..\IL2CPU\source\IL2CPU -r win7-x86 -o "c:\CosmosRun\Build\IL2CPU\"
xcopy /Y "source\Cosmos.Build.Tasks\tools\grub2\boot\grub\i386-pc\*.*" "c:\CosmosRun\Build\ISO\boot\grub\i386-pc\"
xcopy /Y "Build\grub2\boot\grub\grub.cfg" "c:\CosmosRun\Build\ISO\boot\grub"
xcopy /Y /S "Build\VMware\*" "c:\CosmosRun\Build\VMware\"
xcopy /Y /S "Build\Tools" "c:\CosmosRun\Build\Tools\"
xcopy /Y "..\IL2CPU\source\Cosmos.Core.DebugStub\*.xs" "c:\CosmosRun\XSharp\DebugStub\"
xcopy /Y /S "Resources\Bochs\*.*" "%ProgramFiles(x86)%\Bochs-2.6.8\"
reg add HKLM\SOFTWARE\WOW6432Node\Cosmos /v UserKit /d c:\CosmosRun\
reg add HKCR\BochsConfigFile\shell\Run\command /ve /d "\"C:\Program Files (x86)\Bochs-2.6.8\Bochs.exe\" -q -f \"%1\""
#test: off
# assemblies:
# - Cosmos.Core.Memory.Test.dll
# - DebugCompiler.dll
# - Cosmos.TestRunner.UnitTest.dll
test_script:
- cmd: dotnet test Tests\Cosmos.TestRunner.UnitTest\Cosmos.TestRunner.UnitTest.csproj --logger "trx;LogFileName=c:\Cosmos\TestResult.xml"
on_finish:
- ps: |
$tests = "c:\Cosmos\TestResult.xml"
if ((Test-Path $tests)) {
$wc = New-Object 'System.Net.WebClient'
$wc.UploadFile("https://ci.appveyor.com/api/testresults/mstest/$($env:APPVEYOR_JOB_ID)", "c:\Cosmos\TestResult.xml")
}
#notifications:
#- provider: Webhook
# url: https://webhooks.gitter.im/e/d5c57ffb9a04b1b180be
# on_build_success: true
# on_build_failure: true
# on_build_status_changed: true
matrix:
fast_finish: true
branches:
only:
- master
artifacts:
- path: 'artifacts\Debug\nupkg\*.nupkg'
- path: 'artifacts\Debug\VSIX\*.vsix'
- path: 'TestResult.xml'
#skip_commits:
# files:
# - Docs/
# - .github/
# - Artwork/
# - '**/*.md'
# - LICENSE.txt
# - README.txt
# - .gitignore
# - source/Archive/
# - Users/