Skip to content

Commit 7135af4

Browse files
committed
Test ci
1 parent 453d8e1 commit 7135af4

File tree

12 files changed

+209
-13
lines changed

12 files changed

+209
-13
lines changed

.github/workflows/publish.yml

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
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 }}

AvaloniaVisualBasic.Desktop/AvaloniaVisualBasic.Desktop.csproj

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
<TargetFrameworks>$(DotNetVersionDesktop)</TargetFrameworks>
77
<Nullable>enable</Nullable>
88
<BuiltInComInteropSupport>true</BuiltInComInteropSupport>
9+
<ApplicationIcon>vb6icon.ico</ApplicationIcon>
910
</PropertyGroup>
1011

1112
<PropertyGroup>
@@ -21,4 +22,10 @@
2122
<ItemGroup>
2223
<ProjectReference Include="..\AvaloniaVisualBasic\AvaloniaVisualBasic.csproj" />
2324
</ItemGroup>
25+
26+
<ItemGroup>
27+
<AvaloniaResource Include="..\AvaloniaVisualBasic\vb6icon.ico">
28+
<Link>vb6icon.ico</Link>
29+
</AvaloniaResource>
30+
</ItemGroup>
2431
</Project>
1.05 KB
Binary file not shown.

AvaloniaVisualBasic.Standalone/App.axaml.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using Avalonia.Controls;
44
using Avalonia.Controls.ApplicationLifetimes;
55
using Avalonia.Markup.Xaml;
6+
using Avalonia.Platform;
67
using AvaloniaVisualBasic.Runtime;
78
using Classic.Avalonia.Theme;
89
using Classic.CommonControls.Dialogs;
@@ -23,6 +24,7 @@ public override void OnFrameworkInitializationCompleted()
2324
if (Program.StartupForm != null)
2425
{
2526
VBLoader.RunForm(Program.StartupForm, default, out var window);
27+
window.Icon = new WindowIcon(AssetLoader.Open(new Uri("avares://AvaloniaVisualBasic.Standalone/form.ico")));
2628
desktop.MainWindow = window;
2729
}
2830
else
@@ -40,6 +42,7 @@ public override void OnFrameworkInitializationCompleted()
4042
};
4143
window.Content = msgBox;
4244
desktop.MainWindow = window;
45+
window.Icon = new WindowIcon(AssetLoader.Open(new Uri("avares://AvaloniaVisualBasic.Standalone/form.ico")));
4346
msgBox.AcceptRequest += _ => window.Close();
4447
}
4548
}

AvaloniaVisualBasic.Standalone/AvaloniaVisualBasic.Standalone.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
1111
<DebugSymbols>False</DebugSymbols>
1212
<DebugType>None</DebugType>
13+
<ApplicationIcon>form.ico</ApplicationIcon>
1314
</PropertyGroup>
1415

1516
<PropertyGroup>
@@ -33,5 +34,7 @@
3334

3435
<ItemGroup>
3536
<AvaloniaResource Include="Resources\**\*"/>
37+
<None Remove="form.ico" />
38+
<AvaloniaResource Include="form.ico" />
3639
</ItemGroup>
3740
</Project>
1.37 KB
Binary file not shown.

AvaloniaVisualBasic.sln

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "meta", "meta", "{6151C731-2
2020
README.md = README.md
2121
LICENSE = LICENSE
2222
build_cloudflare.sh = build_cloudflare.sh
23+
.github\workflows\publish.yml = .github\workflows\publish.yml
2324
EndProjectSection
2425
EndProject
2526
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvaloniaVisualBasic.Standalone", "AvaloniaVisualBasic.Standalone\AvaloniaVisualBasic.Standalone.csproj", "{0C6BC133-E273-4716-83D1-4FD1B0C14E19}"

AvaloniaVisualBasic/AvaloniaVisualBasic.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,7 @@
4242
<None Remove="Icons\**\*.gif"/>
4343
<AvaloniaResource Include="Icons\**\*.gif"/>
4444
<AvaloniaResource Include="Resources\**\*"/>
45+
<None Remove="vb6icon.ico" />
46+
<AvaloniaResource Include="vb6icon.ico" />
4547
</ItemGroup>
4648
</Project>

AvaloniaVisualBasic/IDE/WindowManager.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,9 @@ public async Task ShowWindow(IDialog dialog)
8383
{
8484
Content = dialog,
8585
DataContext = dialog,
86-
SizeToContent = SizeToContent.WidthAndHeight
86+
SizeToContent = SizeToContent.WidthAndHeight,
87+
ShowActivated = true,
88+
WindowStartupLocation = WindowStartupLocation.CenterOwner
8789
};
8890

8991
var lifetime = new TaskCompletionSource();

AvaloniaVisualBasic/MainWindow.axaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
77
x:Class="AvaloniaVisualBasic.MainWindow"
88
x:DataType="avaloniaVisualBasic:MainViewViewModel"
9-
Icon="/Icons/vb6.gif"
9+
Icon="/vb6icon.ico"
1010
ClosingBehavior="OwnerAndChildWindows"
1111
Title="{CompiledBinding Title}">
1212
<avaloniaVisualBasic:MainView x:Name="MainView" />

0 commit comments

Comments
 (0)