From eaf7f38ba9e824b1728f9d193473bbe2271d4e4b Mon Sep 17 00:00:00 2001 From: Max Breuel Date: Tue, 13 Oct 2026 19:29:16 -0300 Subject: [PATCH 1/3] Add Release Binary Creation on a pipeline. [enhancement] --- .github/workflows/release.yml | 94 +++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..628f6ca --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,94 @@ +name: Create release executables + +on: + push: + tags: + - "*" + +permissions: + contents: write + +jobs: + build: + name: Build ${{ matrix.platform }} executable + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - platform: Linux + os: ubuntu-latest + data_separator: ":" + archive_command: tar -C dist -czf MemphisVDebugger-linux.tar.gz MemphisVDebugger + asset: MemphisVDebugger-linux.tar.gz + - platform: Windows + os: windows-latest + data_separator: ";" + archive_command: Compress-Archive -Path dist/MemphisVDebugger -DestinationPath MemphisVDebugger-windows.zip + asset: MemphisVDebugger-windows.zip + + steps: + - name: Check out source + uses: actions/checkout@v4 + + - name: Set up uv and Python + uses: astral-sh/setup-uv@v10.2.0 + with: + python-version: "3.14" + + - name: Install dependencies + run: uv sync --locked + + - name: Install Qt system libraries + if: runner.os == 'Linux' + run: sudo apt-get update && sudo apt-get install -y libegl1 libgl1 libxkbcommon0 libfontconfig1 libdbus-1-3 + + - name: Build executable + run: > + uv run --locked --with pyinstaller pyinstaller + --noconfirm + --clean + --onedir + --windowed + --name MemphisVDebugger + --add-data "images${{ matrix.data_separator }}images" + --add-data "icon${{ matrix.data_separator }}icon" + --add-data "color_spectrum.png${{ matrix.data_separator }}." + main.py + + - name: Verify executable + shell: bash + run: | + if [ "$RUNNER_OS" = "Windows" ]; then + test -f dist/MemphisVDebugger/MemphisVDebugger.exe + else + test -x dist/MemphisVDebugger/MemphisVDebugger + fi + + - name: Package application bundle + shell: ${{ runner.os == 'Windows' && 'pwsh' || 'bash' }} + run: ${{ matrix.archive_command }} + + - name: Upload packaged application + uses: actions/upload-artifact@v4 + with: + name: MemphisVDebugger-${{ matrix.platform }} + path: ${{ matrix.asset }} + if-no-files-found: error + + release: + name: Publish release + needs: build + runs-on: ubuntu-latest + + steps: + - name: Download packaged applications + uses: actions/download-artifact@v4 + with: + path: release-assets + merge-multiple: true + + - name: Create GitHub release and upload executables + uses: softprops/action-gh-release@v2 + with: + files: release-assets/* From 4d37d20aa0806f71923bb8153abf4a6e4b3642a7 Mon Sep 17 00:00:00 2001 From: Max Breuel Date: Tue, 13 Oct 2026 19:54:13 -0300 Subject: [PATCH 2/3] Fixed environment. [bugfix] --- .github/workflows/release.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 628f6ca..1f888a4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,6 +4,7 @@ on: push: tags: - "*" + workflow_dispatch: permissions: contents: write @@ -18,11 +19,13 @@ jobs: include: - platform: Linux os: ubuntu-latest + shell: bash data_separator: ":" archive_command: tar -C dist -czf MemphisVDebugger-linux.tar.gz MemphisVDebugger asset: MemphisVDebugger-linux.tar.gz - platform: Windows os: windows-latest + shell: pwsh data_separator: ";" archive_command: Compress-Archive -Path dist/MemphisVDebugger -DestinationPath MemphisVDebugger-windows.zip asset: MemphisVDebugger-windows.zip @@ -66,7 +69,7 @@ jobs: fi - name: Package application bundle - shell: ${{ runner.os == 'Windows' && 'pwsh' || 'bash' }} + shell: ${{ matrix.shell }} run: ${{ matrix.archive_command }} - name: Upload packaged application @@ -79,6 +82,7 @@ jobs: release: name: Publish release needs: build + if: startsWith(github.ref, 'refs/tags/') runs-on: ubuntu-latest steps: From 560ca471aa0a22b72d10543fed30282cd3a8978e Mon Sep 17 00:00:00 2001 From: Max Breuel Date: Tue, 13 Oct 2026 19:59:09 -0300 Subject: [PATCH 3/3] Fixed packaging issues. [bugfix] --- .github/workflows/release.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1f888a4..baf1ce0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,15 +19,11 @@ jobs: include: - platform: Linux os: ubuntu-latest - shell: bash data_separator: ":" - archive_command: tar -C dist -czf MemphisVDebugger-linux.tar.gz MemphisVDebugger asset: MemphisVDebugger-linux.tar.gz - platform: Windows os: windows-latest - shell: pwsh data_separator: ";" - archive_command: Compress-Archive -Path dist/MemphisVDebugger -DestinationPath MemphisVDebugger-windows.zip asset: MemphisVDebugger-windows.zip steps: @@ -68,9 +64,14 @@ jobs: test -x dist/MemphisVDebugger/MemphisVDebugger fi - - name: Package application bundle - shell: ${{ matrix.shell }} - run: ${{ matrix.archive_command }} + - name: Package Linux application bundle + if: matrix.platform == 'Linux' + run: tar -C dist -czf MemphisVDebugger-linux.tar.gz MemphisVDebugger + + - name: Package Windows application bundle + if: matrix.platform == 'Windows' + shell: pwsh + run: Compress-Archive -Path dist/MemphisVDebugger -DestinationPath MemphisVDebugger-windows.zip - name: Upload packaged application uses: actions/upload-artifact@v4