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+ - name : Release
43+ uses : softprops/action-gh-release@v2
44+ with :
45+ files : ./bin/windows/**/*
46+
47+ build-linux :
48+ runs-on : ubuntu-latest
49+
50+ steps :
51+ - name : Checkout code
52+ uses : actions/checkout@v3
53+
54+ - name : Setup .NET
55+ uses : actions/setup-dotnet@v3
56+ with :
57+ dotnet-version : ' 9.0.x'
58+
59+ - name : Build and Publish AvaloniaVisualBasic.Desktop (Linux)
60+ run : dotnet publish AvaloniaVisualBasic.Desktop -f net9.0 -o bin/linux/ -p:PublishAot=true -p:PublishTrimmed=true
61+
62+ - name : Build and Publish AvaloniaVisualBasic.Standalone (Linux)
63+ run : dotnet publish AvaloniaVisualBasic.Standalone -f net9.0 -o bin/linux/standalone/ -p:PublishAot=true -p:PublishTrimmed=true
64+
65+ - name : Remove Debug Symbols (Linux)
66+ run : |
67+ find ./bin/linux -name "*.dbg" -type f -delete
68+ find ./bin/linux -name "*.pdb" -type f -delete
69+ chmod +x ./bin/linux/AvaloniaVisualBasic.Desktop
70+ chmod +x ./bin/linux/standalone/AvaloniaVisualBasic.Standalone
71+ mv ./bin/linux/AvaloniaVisualBasic.Desktop ./bin/linux/AvaloniaVisualBasic
72+
73+ - name : Tar files
74+ run : |
75+ cd ./bin/linux
76+ tar -cvf vb6-linux-amd64.tar *
77+ cd ../../
78+
79+ - name : Upload Linux Artifacts
80+ uses : actions/upload-artifact@v4
81+ with :
82+ name : linux-bin
83+ path : ./bin/linux/vb6-linux-amd64.tar
84+
85+ - name : Release
86+ uses : softprops/action-gh-release@v2
87+ with :
88+ files : ./bin/macos/vb6-linux-amd64.tar
89+
90+ build-macos :
91+ runs-on : macos-latest
92+
93+ steps :
94+ - name : Checkout code
95+ uses : actions/checkout@v3
96+
97+ - name : Setup .NET
98+ uses : actions/setup-dotnet@v3
99+ with :
100+ dotnet-version : ' 9.0.x'
101+
102+ - name : Build and Publish AvaloniaVisualBasic.Desktop (macOS)
103+ run : dotnet publish AvaloniaVisualBasic.Desktop -f net9.0 -o bin/macos/ -p:PublishAot=true -p:PublishTrimmed=true
104+
105+ - name : Build and Publish AvaloniaVisualBasic.Standalone (macOS)
106+ run : dotnet publish AvaloniaVisualBasic.Standalone -f net9.0 -o bin/macos/standalone/ -p:PublishAot=true -p:PublishTrimmed=true
107+
108+ - name : Remove Debug Symbols (macOS)
109+ run : |
110+ find ./bin/macos -name "*.dbg" -type f -delete
111+ find ./bin/macos -name "*.pdb" -type f -delete
112+ find ./bin/macos -name "*.dSYM" -type d -exec rm -rf {} +
113+ chmod +x ./bin/macos/AvaloniaVisualBasic.Desktop
114+ chmod +x ./bin/macos/standalone/AvaloniaVisualBasic.Standalone
115+ mv ./bin/macos/AvaloniaVisualBasic.Desktop ./bin/macos/AvaloniaVisualBasic
116+
117+ - name : Tar files
118+ run : |
119+ cd ./bin/macos
120+ tar -cvf vb6-macos-arm64.tar *
121+ cd ../../
122+
123+ - name : Upload macOS Artifacts
124+ uses : actions/upload-artifact@v4
125+ with :
126+ name : macos-bin
127+ path : ./bin/macos/vb6-macos-arm64.tar
128+
129+ - name : Release
130+ uses : softprops/action-gh-release@v2
131+ with :
132+ files : ./bin/macos/vb6-macos-arm64.tar
0 commit comments