-
-
Notifications
You must be signed in to change notification settings - Fork 64
121 lines (106 loc) · 3.59 KB
/
build.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
116
117
118
119
120
121
# Credits to @Scighost from Starward for his contributions!
name: Build-Canary
#run-name: Canary Build for ${{ github.ref }}
on:
workflow_dispatch:
push:
branches:
- 'main'
pull_request:
branches-ignore:
- 'stable'
- 'preview'
- 'translations_**'
# schedule:
# - cron: '0 0 * * 0' # At 00:00 on Sunday
jobs:
build:
# runs-on: [self-hosted, linux]
runs-on: windows-latest
strategy:
matrix:
configuration: [Debug] # No need to distribute Debug builds
platform: [x64]
framework: [net9.0-windows10.0.22621.0]
env:
Configuration: ${{ matrix.configuration }}
Platform: ${{ matrix.platform }}
DOTNET_INSTALL_DIR: '.\.dotnet'
DOTNET_VERSION: '9.x'
DOTNET_QUALITY: 'ga'
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
steps:
- name: Checkout
uses: actions/checkout@v4.1.5
with:
submodules: recursive
- name: Install .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
dotnet-quality: ${{ env.DOTNET_QUALITY }}
cache: true
cache-dependency-path: CollapseLauncher/packages.lock.json
- name: Build
run: |
dotnet publish CollapseLauncher -p:PublishProfile=Publish-DebugCIRelease -p:PublishDir=".\debug-build\"
- name: Upload Artifact
uses: actions/upload-artifact@v4.3.1
with:
name: collapse_${{ matrix.platform }}-${{ matrix.configuration }}_${{ matrix.framework }}_${{ github.sha }}
path: ./CollapseLauncher/debug-build/
compression-level: 9
build-nativeaot:
runs-on: windows-latest
strategy:
matrix:
configuration: [Debug]
platform: [x64]
framework: [net9.0-windows10.0.22621.0]
env:
Configuration: ${{ matrix.configuration }}
Platform: ${{ matrix.platform }}
DOTNET_INSTALL_DIR: '.\.dotnet'
DOTNET_VERSION: '9.x'
DOTNET_QUALITY: 'ga'
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
steps:
- name: Checkout
uses: actions/checkout@v4.1.5
with:
submodules: recursive
- name: Install .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
dotnet-quality: ${{ env.DOTNET_QUALITY }}
cache: true
cache-dependency-path: CollapseLauncher/packages.lock.json
# - name: Restore
# run: dotnet restore CollapseLauncher --locked-mode
# Don't need to do restore explicitly, should be done on Build time
- name: Build
run: |
dotnet publish CollapseLauncher -p:PublishProfile=Publish-DebugCIReleaseAOT -p:PublishDir=".\debug-aot-build\"
- name: Upload Artifact
uses: actions/upload-artifact@v4.3.1
with:
name: aot-experimental_collapse_${{ matrix.platform }}-${{ matrix.configuration }}_${{ matrix.framework }}_${{ github.sha }}
path: ./CollapseLauncher/debug-aot-build/
compression-level: 9
notify-discord:
runs-on: ubuntu-latest
if: always()
needs: [build, build-nativeaot]
steps:
- name: Notify Discord
uses: sarisia/actions-status-discord@v1.13.0
if: always()
continue-on-error: true
with:
webhook: ${{ secrets.DISCORD_WEBHOOK_NIGHTLY }}
title: Collapse Launcher CI build is complete!
status: ${{ job.status }}
description: |
Commit `${{ github.sha }}` by ${{ github.actor }}
Click [here](https://nightly.link/CollapseLauncher/Collapse/actions/runs/${{ github.run_id }}) to download!