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