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 : 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 :
56+ runs-on : ubuntu-latest
57+ if : false
58+
59+ steps :
60+ - name : Checkout code
61+ uses : actions/checkout@v3
62+
63+ - name : Setup .NET
64+ uses : actions/setup-dotnet@v3
65+ with :
66+ dotnet-version : ' 9.0.x'
67+
68+ - name : Build and Publish AvaloniaVisualBasic.Desktop (Linux)
69+ run : dotnet publish AvaloniaVisualBasic.Desktop -f net9.0 -o bin/linux/ -p:PublishAot=true -p:PublishTrimmed=true
70+
71+ - name : Build and Publish AvaloniaVisualBasic.Standalone (Linux)
72+ run : dotnet publish AvaloniaVisualBasic.Standalone -f net9.0 -o bin/linux/standalone/ -p:PublishAot=true -p:PublishTrimmed=true
73+
74+ - name : Remove Debug Symbols (Linux)
75+ run : |
76+ find ./bin/linux -name "*.dbg" -type f -delete
77+ find ./bin/linux -name "*.pdb" -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+ cd ../../
87+
88+ - name : Upload Linux Artifacts
89+ uses : actions/upload-artifact@v4
90+ with :
91+ name : linux-bin
92+ path : ./bin/linux/vb6-linux-amd64.tar
93+
94+ - name : Release
95+ uses : softprops/action-gh-release@v2
96+ with :
97+ files : ./bin/linux/vb6-linux-amd64.tar
98+ name : Test Build
99+ tag_name : v1
100+ token : ${{ secrets.PAT }}
101+
102+ build-macos :
103+ runs-on : macos-latest
104+ if : false
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+ chmod +x ./bin/macos/AvaloniaVisualBasic.Desktop
127+ chmod +x ./bin/macos/standalone/AvaloniaVisualBasic.Standalone
128+ mv ./bin/macos/AvaloniaVisualBasic.Desktop ./bin/macos/AvaloniaVisualBasic
129+
130+ - name : Tar files
131+ run : |
132+ cd ./bin/macos
133+ tar -cvf vb6-macos-arm64.tar *
134+ cd ../../
135+
136+ - name : Upload macOS Artifacts
137+ uses : actions/upload-artifact@v4
138+ with :
139+ name : macos-bin
140+ path : ./bin/macos/vb6-macos-arm64.tar
141+
142+ - name : Release
143+ uses : softprops/action-gh-release@v2
144+ with :
145+ files : ./bin/macos/vb6-macos-arm64.tar
146+ name : Test Build
147+ tag_name : v1
148+ token : ${{ secrets.PAT }}
0 commit comments