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