Fixed icon and manifest for Installer
This commit is contained in:
parent
9b05914fc3
commit
c7834e5949
1 changed files with 37 additions and 31 deletions
|
@ -9,28 +9,27 @@ jobs:
|
||||||
runs-on: win-10
|
runs-on: win-10
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install rsrc tool
|
- name: Check rsrc tool
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
go install github.com/akavel/rsrc@latest
|
rsrc --version || echo "rsrc tool not available"
|
||||||
|
|
||||||
- name: Install ImageMagick (if not already installed)
|
- name: Check windres availability
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
windres --version || echo "windres not available, please install mingw"
|
||||||
|
|
||||||
|
- name: Check ImageMagick version
|
||||||
shell: powershell
|
shell: powershell
|
||||||
run: |
|
run: |
|
||||||
choco install imagemagick -y --no-progress
|
magick -version
|
||||||
|
|
||||||
- name: Clone Publisher repo
|
- name: Clone Publisher repo and Generate Manifest Files
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
git clone https://weforge.xyz/Spitfire/Publisher.git
|
git clone https://weforge.xyz/Spitfire/Publisher.git
|
||||||
|
cd Publisher
|
||||||
- name: Clone Manifest Generator and Generate Manifest Files
|
# Run win_manifest_gen.go from the Publisher repo to generate manifest files.
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
git clone https://weforge.xyz/partisan/upload-test.git manifest-gen
|
|
||||||
cd manifest-gen
|
|
||||||
# Run the manifest generator with desired flags.
|
|
||||||
# Adjust the flag values as needed.
|
|
||||||
go run win_manifest_gen.go \
|
go run win_manifest_gen.go \
|
||||||
--name "Spitfire Installer" \
|
--name "Spitfire Installer" \
|
||||||
--company "Spitfire Browser" \
|
--company "Spitfire Browser" \
|
||||||
|
@ -38,9 +37,10 @@ jobs:
|
||||||
--official "https://spitfirebrowser.xyz" \
|
--official "https://spitfirebrowser.xyz" \
|
||||||
--dev "https://weforge.xyz" \
|
--dev "https://weforge.xyz" \
|
||||||
--requireAdmin=false
|
--requireAdmin=false
|
||||||
# Copy generated files to the workspace root.
|
# Copy generated files (app.manifest and app.rc) to the workspace root.
|
||||||
cp app.manifest ../
|
cp app.manifest ../
|
||||||
cp versioninfo.json ../
|
cp app.rc ../
|
||||||
|
cd ..
|
||||||
|
|
||||||
- name: Clone Installer, Convert Icon, and Build Spitfire Installer
|
- name: Clone Installer, Convert Icon, and Build Spitfire Installer
|
||||||
shell: bash
|
shell: bash
|
||||||
|
@ -48,19 +48,25 @@ jobs:
|
||||||
set -e
|
set -e
|
||||||
git clone https://weforge.xyz/Spitfire/Installer.git
|
git clone https://weforge.xyz/Spitfire/Installer.git
|
||||||
cd Installer
|
cd Installer
|
||||||
# Copy the generated manifest files from the parent directory.
|
# Copy the generated manifest files from the workspace root.
|
||||||
cp ../app.manifest .
|
cp ../app.manifest .
|
||||||
cp ../versioninfo.json .
|
cp ../app.rc .
|
||||||
# Download the icon PNG (530x530) from the dynamic URL.
|
# Download the icon PNG (530x530) from the dynamic URL.
|
||||||
curl -L "https://weforge.xyz/Spitfire/Branding/src/branch/main/active/browser/icon.png" -o icon.png
|
curl -fL "https://weforge.xyz/Spitfire/Branding/raw/branch/main/active/browser/icon.png" -o icon.png
|
||||||
|
ls -l icon.png
|
||||||
|
head -n 10 icon.png || true
|
||||||
# Convert the PNG to a Windows ICO file with multiple sizes using ImageMagick.
|
# Convert the PNG to a Windows ICO file with multiple sizes using ImageMagick.
|
||||||
magick icon.png -define icon:auto-resize=256,128,64,48,32,16 icon.ico
|
magick icon.png -define icon:auto-resize=256,128,64,48,32,16 icon.ico
|
||||||
# Generate the resource file embedding manifest, version info, and the icon.
|
# Prepend an ICON directive to app.rc so the icon is embedded.
|
||||||
rsrc -manifest app.manifest -json versioninfo.json -ico icon.ico -o rsrc.syso
|
echo '1 ICON "icon.ico"' | cat - app.rc > tmp.rc && mv tmp.rc app.rc
|
||||||
# Build the installer; rsrc.syso is automatically linked by the Go compiler.
|
# Compile the resource script into a .syso file using windres.
|
||||||
CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -o spitfire-installer.exe
|
windres app.rc -O coff -o resource.syso
|
||||||
|
# Build the installer; resource.syso is automatically linked.
|
||||||
|
CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS=windows GOARCH=amd64 \
|
||||||
|
go build -ldflags "-s -w" -o spitfire-installer.exe
|
||||||
# Move the built executable one level up for packaging.
|
# Move the built executable one level up for packaging.
|
||||||
mv spitfire-installer.exe ..
|
mv spitfire-installer.exe ..
|
||||||
|
cd ..
|
||||||
|
|
||||||
- name: Setup SSH Key for SourceForge
|
- name: Setup SSH Key for SourceForge
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue