Skip to content

Commit 0e9f695

Browse files
committed
Initial commit - MSIX Builder project
0 parents  commit 0e9f695

28 files changed

Lines changed: 4128 additions & 0 deletions

.DS_Store

6 KB
Binary file not shown.

.github/workflows/build-gui.yml

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
name: Build and Release MSIXBuilder GUI
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
paths:
7+
- 'GUI/**'
8+
- 'Create-MSIXPackage.ps1'
9+
- '.github/workflows/build-gui.yml'
10+
pull_request:
11+
branches: [ main ]
12+
paths:
13+
- 'GUI/**'
14+
- 'Create-MSIXPackage.ps1'
15+
workflow_dispatch:
16+
17+
env:
18+
SOLUTION_FILE_PATH: GUI/MSIXBuilderGUI.sln
19+
BUILD_CONFIGURATION: Release
20+
PLATFORM: x64
21+
22+
permissions:
23+
contents: write
24+
actions: read
25+
security-events: write
26+
27+
jobs:
28+
build:
29+
runs-on: windows-latest
30+
31+
steps:
32+
- name: Checkout
33+
uses: actions/checkout@v4
34+
with:
35+
fetch-depth: 0
36+
37+
- name: Setup .NET
38+
uses: actions/setup-dotnet@v4
39+
with:
40+
dotnet-version: '8.0.x'
41+
42+
- name: Setup MSBuild
43+
uses: microsoft/setup-msbuild@v2
44+
45+
- name: Setup NuGet
46+
uses: NuGet/setup-nuget@v2
47+
48+
49+
50+
- name: Restore NuGet packages
51+
run: nuget restore ${{ env.SOLUTION_FILE_PATH }}
52+
53+
- name: Build GUI Application
54+
run: |
55+
msbuild ${{ env.SOLUTION_FILE_PATH }} /m /p:Configuration=${{ env.BUILD_CONFIGURATION }} /p:Platform=${{ env.PLATFORM }}
56+
57+
- name: Publish Application
58+
run: |
59+
# Ensure the PowerShell script exists for embedding
60+
if (!(Test-Path "Create-MSIXPackage.ps1")) {
61+
Write-Error "Create-MSIXPackage.ps1 not found in root directory"
62+
exit 1
63+
}
64+
dotnet publish GUI/MSIXBuilderGUI/MSIXBuilderGUI.csproj --configuration ${{ env.BUILD_CONFIGURATION }} --output GUI/publish
65+
shell: powershell
66+
67+
- name: Create Release Archive
68+
run: |
69+
# Copy the PowerShell script to the publish directory for inclusion
70+
Copy-Item "Create-MSIXPackage.ps1" "GUI/publish/"
71+
72+
# Create a single zip file with GUI + PowerShell script
73+
Compress-Archive -Path "GUI/publish/*" -DestinationPath "MSIXBuilderGUI-v${{ github.run_number }}.zip"
74+
shell: powershell
75+
76+
- name: Upload Build Artifacts
77+
uses: actions/upload-artifact@v4
78+
with:
79+
name: MSIXBuilderGUI-${{ github.sha }}
80+
path: |
81+
MSIXBuilderGUI-v${{ github.run_number }}.zip
82+
83+
- name: Debug Release Info
84+
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
85+
run: |
86+
echo "GitHub Token exists: ${{ secrets.GITHUB_TOKEN != '' }}"
87+
echo "Repository: ${{ github.repository }}"
88+
echo "Run number: ${{ github.run_number }}"
89+
echo "SHA: ${{ github.sha }}"
90+
ls -la *.zip
91+
shell: bash
92+
93+
- name: Create Release
94+
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
95+
uses: softprops/action-gh-release@v2
96+
with:
97+
tag_name: v${{ github.run_number }}
98+
name: MSIXBuilder GUI v${{ github.run_number }}
99+
body: |
100+
## 🚀 MSIXBuilder GUI Release v${{ github.run_number }}
101+
102+
**What's New:**
103+
- Latest build with all improvements and bug fixes
104+
- Automatic PowerShell script execution with non-interactive mode
105+
- One-click certificate installation
106+
- Comprehensive logging and error handling
107+
- Modern Windows Forms interface
108+
109+
**Downloads:**
110+
- `MSIXBuilderGUI-v${{ github.run_number }}.zip` - GUI application + PowerShell script
111+
112+
**Requirements:**
113+
- Windows 10 (1809+) or Windows 11
114+
- .NET 8.0 Runtime
115+
- Administrator privileges
116+
117+
**Usage:**
118+
1. Download and extract the zip file
119+
2. Run `MSIXBuilderGUI.exe`
120+
3. Configure your package settings
121+
4. Click "Create Package" and enjoy! 🎉
122+
123+
Built from commit: ${{ github.sha }}
124+
files: |
125+
MSIXBuilderGUI-v${{ github.run_number }}.zip
126+
draft: false
127+
prerelease: false
128+
env:
129+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)