1+ name : Build Native AOT App
2+
3+ on :
4+ push :
5+ branches :
6+ - ci
7+ pull_request :
8+ branches :
9+ - ci
10+
11+ jobs :
12+ build-windows :
13+ runs-on : windows-latest
14+
15+ steps :
16+ - name : Checkout code
17+ uses : actions/checkout@v3
18+
19+ - name : Setup .NET
20+ uses : actions/setup-dotnet@v3
21+ with :
22+ dotnet-version : ' 9.0.x'
23+
24+ - name : Build and Publish AvaloniaVisualBasic.Desktop (Windows)
25+ run : dotnet publish AvaloniaVisualBasic.Desktop -f net9.0 -o bin/windows/ -p:PublishAot=true -p:PublishTrimmed=true
26+
27+ - name : Build and Publish AvaloniaVisualBasic.Standalone (Windows)
28+ run : dotnet publish AvaloniaVisualBasic.Standalone -f net9.0 -o bin/windows/standalone/ -p:PublishAot=true -p:PublishTrimmed=true
29+
30+ - name : Remove Debug Symbols (Windows)
31+ run : |
32+ find ./bin/windows -name "*.pdb" -type f -delete
33+ mv ./bin/windows/AvaloniaVisualBasic.Desktop.exe ./bin/windows/AvaloniaVisualBasic.exe
34+ shell : bash
35+
36+ - name : Upload Windows Artifacts
37+ uses : actions/upload-artifact@v4
38+ with :
39+ name : windows-bin
40+ path : ./bin/windows/
41+
42+ build-linux :
43+ runs-on : ubuntu-latest
44+
45+ steps :
46+ - name : Checkout code
47+ uses : actions/checkout@v3
48+
49+ - name : Setup .NET
50+ uses : actions/setup-dotnet@v3
51+ with :
52+ dotnet-version : ' 9.0.x'
53+
54+ - name : Build and Publish AvaloniaVisualBasic.Desktop (Linux)
55+ run : dotnet publish AvaloniaVisualBasic.Desktop -f net9.0 -o bin/linux/ -p:PublishAot=true -p:PublishTrimmed=true
56+
57+ - name : Build and Publish AvaloniaVisualBasic.Standalone (Linux)
58+ run : dotnet publish AvaloniaVisualBasic.Standalone -f net9.0 -o bin/linux/standalone/ -p:PublishAot=true -p:PublishTrimmed=true
59+
60+ - name : Remove Debug Symbols (Linux)
61+ run : |
62+ find ./bin/linux -name "*.dbg" -type f -delete
63+ find ./bin/linux -name "*.pdb" -type f -delete
64+ chmod +x ./bin/linux/AvaloniaVisualBasic.Desktop
65+ chmod +x ./bin/linux/standalone/AvaloniaVisualBasic.Standalone
66+ mv ./bin/linux/AvaloniaVisualBasic.Desktop ./bin/linux/AvaloniaVisualBasic
67+
68+ - name : Tar files
69+ cd ./bin/linux
70+ tar -cvf vb6-linux.tar *
71+ cd ../../
72+
73+ - name : Upload Linux Artifacts
74+ uses : actions/upload-artifact@v4
75+ with :
76+ name : linux-bin
77+ path : ./bin/linux/vb6-linux.tar
78+
79+ build-macos :
80+ runs-on : macos-latest
81+
82+ steps :
83+ - name : Checkout code
84+ uses : actions/checkout@v3
85+
86+ - name : Setup .NET
87+ uses : actions/setup-dotnet@v3
88+ with :
89+ dotnet-version : ' 9.0.x'
90+
91+ - name : Build and Publish AvaloniaVisualBasic.Desktop (macOS)
92+ run : dotnet publish AvaloniaVisualBasic.Desktop -f net9.0 -o bin/macos/ -p:PublishAot=true -p:PublishTrimmed=true
93+
94+ - name : Build and Publish AvaloniaVisualBasic.Standalone (macOS)
95+ run : dotnet publish AvaloniaVisualBasic.Standalone -f net9.0 -o bin/macos/standalone/ -p:PublishAot=true -p:PublishTrimmed=true
96+
97+ - name : Remove Debug Symbols (macOS)
98+ run : |
99+ find ./bin/macos -name "*.dbg" -type f -delete
100+ find ./bin/macos -name "*.pdb" -type f -delete
101+ find ./bin/macos -name "*.dSYM" -type d -exec rm -rf {} +
102+ chmod +x ./bin/macos/AvaloniaVisualBasic.Desktop
103+ chmod +x ./bin/macos/standalone/AvaloniaVisualBasic.Standalone
104+ mv ./bin/macos/AvaloniaVisualBasic.Desktop ./bin/macos/AvaloniaVisualBasic
105+
106+ - name : Tar files
107+ run : |
108+ cd ./bin/macos
109+ tar -cvf vb6-macos.tar *
110+ cd ../../
111+
112+ - name : Upload macOS Artifacts
113+ uses : actions/upload-artifact@v4
114+ with :
115+ name : macos-bin
116+ path : ./bin/macos/vb6-macos.tar
0 commit comments