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