Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
d8ff07b
Unraid Branding (#15)
jlre249 Mar 19, 2024
fa19927
disable telemetry by default and hide option on both cli and gui (#17)
jlre249 Apr 3, 2024
1975701
Always displays options popup (#18)
jlre249 Apr 4, 2024
06db0c1
New App Icon (#16)
jlre249 Apr 5, 2024
aa4f3f2
Update Raspberry Pi Device List (#19)
jlre249 Apr 5, 2024
3a2b09e
Settings Menu Modification (#20)
jlre249 May 22, 2024
45a6096
GUID Validation (#21)
jlre249 May 22, 2024
6f5a1b1
Merge remote-tracking branch 'upstream/qml'
jlre249 May 24, 2024
8f28eff
Cleanup (#27)
jlre249 May 25, 2024
5ecb21e
Update README.md (#32)
elibosley May 30, 2024
f47c416
Update license.txt (#31)
elibosley May 30, 2024
1548fc0
More Cleanup (#30)
jlre249 May 30, 2024
4e41444
fix: notarization instructions incorrect for macOS
elibosley May 30, 2024
74159a2
chore(docs): remove unused netboot line
elibosley May 30, 2024
f22862a
chore(docs): add screenshots to readme
elibosley May 30, 2024
a8cebb6
chore(docs): fix heading size
elibosley May 30, 2024
27c9102
added hex string padding for vid and pid back in (#37)
jlre249 May 30, 2024
701278c
add back in make bootable script, but only on windows
jlre249 May 30, 2024
7cd5de3
Merge pull request #38 from unraid/run-bootable-script-on-win
elibosley May 30, 2024
377b3fe
default check for version updates to "on"
jlre249 May 30, 2024
f2f8ef0
Merge pull request #40 from unraid/default-update-check-on
elibosley May 30, 2024
82ccc2a
Fix incorrect link to docs
ljm42 Jun 4, 2024
a9ca078
Merge pull request #42 from unraid/fix-readme-url
elibosley Jul 10, 2024
166e950
Merge remote-tracking branch 'upstream/qml'
jlre249 Jul 17, 2024
4fc684f
Updated GUID fetch logic.
quadraticat Jul 28, 2024
5667c5d
fixed the regex
quadraticat Jul 29, 2024
d9346ff
commented out signtool so build works locally
quadraticat Jul 29, 2024
cd33990
added select language functionality
quadraticat Jul 30, 2024
267a009
minor changes
quadraticat Jul 30, 2024
8d90711
returned qtquick module version back to original state
quadraticat Jul 30, 2024
e425e03
Update build-macos.yml
elibosley Jul 30, 2024
6722952
Update build-ubuntu-deb.yml
elibosley Jul 30, 2024
029d869
updated linux build
Aug 1, 2024
12fd426
attempted to fix mac guid issue
Aug 1, 2024
48dc92f
added dmg
Aug 2, 2024
093c672
removed .ds_store and updated maintainer info
Aug 2, 2024
b4059fa
bye bye ds_store
Aug 2, 2024
988f44b
fixed build and updated version
Aug 5, 2024
988eac1
updated yml
Aug 5, 2024
9179b2e
uncomment windows codesigning
Aug 5, 2024
3eb038e
Merge pull request #46 from quadraticat/45-branch
elibosley Aug 8, 2024
4f28f79
Create build-windows.yml (#51)
quadraticat Sep 22, 2024
8b975aa
merged main
Sep 30, 2024
9dfdb69
updated language selection functionality
Sep 30, 2024
5562605
updated language naming logic
Sep 30, 2024
b562231
updated select language button and included icon
Oct 1, 2024
8cf0c1a
updated icon position
Oct 1, 2024
50237ff
added support for more languages
Oct 1, 2024
3890756
Merge pull request #47 from quadraticat/43-branch
elibosley Oct 2, 2024
76ef041
Update unraid-usb-creator_es.ts
spencerjunraid Oct 3, 2024
e0bea00
Update unraid-usb-creator_es.ts
spencerjunraid Oct 3, 2024
acc9c16
Update unraid-usb-creator_es.ts
spencerjunraid Oct 3, 2024
09c9f92
Update unraid-usb-creator_de.ts
spencerjunraid Oct 7, 2024
7668e3b
Update unraid-usb-creator_de.ts
spencerjunraid Oct 7, 2024
03c75aa
Update unraid-usb-creator_de.ts
spencerjunraid Oct 7, 2024
4d63005
Merge pull request #54 from unraid/spencerjunraid-patch-1
elibosley Oct 8, 2024
9a4a2c4
Merge pull request #56 from unraid/spencerjunraid-patch-3
elibosley Oct 8, 2024
6eb3d73
Merge pull request #55 from unraid/spencerjunraid-patch-2
elibosley Oct 8, 2024
8c1f2b8
Update unraid-usb-creator_fr.ts
spencerjunraid Oct 9, 2024
70a5b26
Merge pull request #59 from unraid/spencerjunraid-patch-3
spencerjunraid Oct 9, 2024
2bbf963
Update unraid-usb-creator_zh.ts
spencerjunraid Oct 10, 2024
c16f24c
Update unraid-usb-creator_fr.ts
spencerjunraid Oct 9, 2024
b079ede
Revert "fix: fr translation issues"
elibosley Oct 11, 2024
53b8828
feat: remove workspace state file
elibosley Oct 11, 2024
f715e98
fix: format FR and add missing tag
elibosley Oct 11, 2024
bddf046
fix: missing context tag
elibosley Oct 11, 2024
74ca088
Merge pull request #57 from unraid/spencerjunraid-patch-1
elibosley Oct 11, 2024
16fe0e1
fix: missing context flag
elibosley Oct 11, 2024
25bd271
Merge pull request #61 from unraid/spencerjunraid-patch-5
elibosley Oct 11, 2024
12e60a8
Update unraid-usb-creator_fr.ts
spencerjunraid Oct 9, 2024
2fc9547
fix: extra context
elibosley Oct 11, 2024
dae24f6
fix: extra context block
elibosley Oct 11, 2024
f75b84b
fix: more issues with translations file
elibosley Oct 11, 2024
3eb98b3
Merge pull request #58 from unraid/spencerjunraid-patch-2
elibosley Oct 11, 2024
f6a02da
quick install button conditionally added to msgpopup
jlre249 Nov 13, 2024
cf95dcf
Merge pull request #63 from jlre249/issue-23
elibosley Nov 15, 2024
9e52e7c
FIX: Ubuntu GitHub Action (#64)
jlre249 Mar 27, 2025
e4e49ad
chore(macOS): update gitignore
May 31, 2025
0f4aaa6
chore(macos): fix build workflow for dmg artifact
Ajit-Mehrotra May 31, 2025
5298402
chore(windows): replace container img with static reference for forke…
Ajit-Mehrotra May 31, 2025
8fb480d
chore: update gitignore for qt and fix build directory
Ajit-Mehrotra Jun 23, 2025
c70413c
feat(language): implement UnraidLanguageManager for unraid os languag…
Ajit-Mehrotra Jul 1, 2025
8b21a1d
feat(language): add dropdown to configure unraid os' language on boot
Ajit-Mehrotra Jul 1, 2025
0b55e0e
feat(language): implement lazy-loaded dropdown for unraid os language…
Ajit-Mehrotra Jul 2, 2025
3f7043b
feat(language): connect unraid os language selection to UnraidLanguag…
Ajit-Mehrotra Jul 2, 2025
e7a7e85
fix(language): remove ghost calls, fix mount detection on linux, and…
Ajit-Mehrotra Jul 7, 2025
8ce2a86
fix(language): allow 302 redirect for language zip
Ajit-Mehrotra Jul 7, 2025
919cf5a
fix(language): prevent delayed/failed unmount from freezing gui
Ajit-Mehrotra Jul 8, 2025
518ab8d
fix(language): fix cmakelist config for windows
Ajit-Mehrotra Jul 10, 2025
c54646d
fix(lang) simplify mountpoint retrieval for language patch
Ajit-Mehrotra Jul 11, 2025
59586fb
fix(lang): fix windows language qml dropdown bug and round dropdown c…
Ajit-Mehrotra Jul 11, 2025
d4f1f4e
refactor(lang): rename methods in UnraidLanguageManager and edit lang…
Ajit-Mehrotra Jul 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 61 additions & 12 deletions .github/workflows/build-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: Build MacOS

on:
push:
branches: [ "qml" ]
branches: ["main"]
pull_request:
branches: [ "qml" ]
branches: ["main"]

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
Expand All @@ -19,16 +19,65 @@ jobs:
working-directory: src

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v3

- name: Install Qt
uses: jurplel/install-qt-action@v3
# Use Cmake < 4.0
- name: Setup CMake 3.31
uses: jwlawson/actions-setup-cmake@v2
with:
cmake-version: "3.31.x"

- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
# Use Qt 5, not Qt 6
- name: Install Qt 5
run: |
brew update
brew install qt@5

- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Configure CMake
run: cmake -S . -B ../build -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DCMAKE_PREFIX_PATH="$(brew --prefix qt@5)"

- name: Build
run: cmake --build ../build --config ${{ env.BUILD_TYPE }}

# 5) Ad-hoc code sign (for CI purposes only)
- name: Ad-hoc Code Sign .app
run: |
CAPP="../build/unraid-usb-creator.app"
codesign --remove-signature "$CAPP"
codesign --force --deep --sign - "$CAPP"

# 6) Remove quarantine attribute
- name: Remove quarantine attribute
run: sudo xattr -rc ../build/unraid-usb-creator.app

# 7) Install Homebrew create-dmg (shell‐script version)
- name: Install create-dmg
run: |
brew update
brew install create-dmg

# 8) Package the signed .app into a DMG that has "drag to Applications"
- name: Create DMG with drag-to-Applications UI
run: |
# Make sure there's a Releases/ folder in the repo root
mkdir -p "${{ github.workspace }}/Releases"

# Create a “drag-to-Applications” DMG:
create-dmg \
--volname "Unraid Installer" \
--volicon "${{ github.workspace }}/src/icons/unraid.icns" \
--background "${{ github.workspace }}/src/icons/UN-logotype-gradient.png" \
--window-pos 200 120 \
--window-size 800 400 \
--icon "unraid-usb-creator.app" 200 190 \
--hide-extension "unraid-usb-creator.app" \
--app-drop-link 600 185 \
"${{ github.workspace }}/Releases/unraid-usb-creator.dmg" \
"${{ github.workspace }}/build/unraid-usb-creator.app"

- name: Upload Mac DMG
uses: actions/upload-artifact@v4
with:
name: UnraidInstallerMacOS
path: Releases/unraid-usb-creator.dmg
# Might need to use `codesign` to sign the app and everything related to that
23 changes: 17 additions & 6 deletions .github/workflows/build-ubuntu-deb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,32 @@ name: Build Ubuntu .deb

on:
push:
branches: [ "qml" ]
branches: [ "main" ]
pull_request:
branches: [ "qml" ]
branches: [ "main" ]

jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v3

- name: Install dependencies
run: sudo apt install -y --no-install-recommends build-essential devscripts debhelper cmake git libarchive-dev libcurl4-gnutls-dev
qtbase5-dev qtbase5-dev-tools qtdeclarative5-dev libqt5svg5-dev qttools5-dev libgnutls28-dev
qml-module-qtquick2 qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtquick-templates2 qml-module-qtquick-window2 qml-module-qtgraphicaleffects
run: |
sudo apt update
sudo apt install -y --no-install-recommends build-essential devscripts debhelper cmake git libarchive-dev libcurl4-gnutls-dev
sudo apt install -y --no-install-recommends qtbase5-dev qtbase5-dev-tools qtdeclarative5-dev libqt5svg5-dev qttools5-dev libgnutls28-dev
sudo apt install -y --no-install-recommends qml-module-qtquick2 qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtquick-templates2 qml-module-qtquick-window2 qml-module-qtgraphicaleffects

- name: Build
run: debuild -uc -us

- name: Workaround actions/upload-artifact#176
run: echo "artifacts_path=$(realpath ..)" >> $GITHUB_ENV

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: Deb
path: ${{ env.artifacts_path }}/*.deb
38 changes: 38 additions & 0 deletions .github/workflows/build-windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Build Windows

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

env:
BUILD_TYPE: Release

jobs:

build:
runs-on: ubuntu-latest
container: ghcr.io/unraid/usb-creator-next/usb-creator-mxe:latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Configure CMake
run: |
cmake src -B build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DQt5_DIR=/opt/mxe/usr/i686-w64-mingw32.shared/qt5/lib/cmake/Qt5

- name: Build
run: |
cmake --build build --config ${{env.BUILD_TYPE}}

- name: Run NSIS
run: |
makensis build/unraid-usb-creator.nsi

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: WindowsInstaller
path: build/unraid-usb-creator-*.exe
29 changes: 29 additions & 0 deletions .github/workflows/mxe-docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Build and Push Docker Image

on:
workflow_dispatch: # Enables manual triggering of the workflow via a button push

jobs:
build-and-push-docker:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Log in to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push
uses: docker/build-push-action@v3
with:
push: true
file: src/windows/Dockerfile.win32dyn
tags: ghcr.io/${{ github.repository }}/usb-creator-mxe:latest
17 changes: 15 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,21 @@
build**
build/
.vscode

obj-**
debian/rpi-imager/**
debian/.debhelper**
debian/files
debian/*.substvars
debian/debhelper**
debian/debhelper**.DS_Store


#For QT Creator
.qtcreator/
*.autosave


# For macOS .dmg creation in workflow
Releases
*.dmg
*.DS_Store

Loading
Loading