From 48e497d7342df6d2922a18d5efdbfdc77616884d Mon Sep 17 00:00:00 2001 From: Phoenix / Hotaru Date: Mon, 29 Apr 2024 22:09:37 +0100 Subject: [PATCH 1/3] Update Github Actions --- .github/workflows/actions.yml | 81 +++++++++++++++++++++-------------- 1 file changed, 49 insertions(+), 32 deletions(-) diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index ddcb46e..ba2a9ab 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -4,54 +4,70 @@ on: types: [published] jobs: - build-x86_64: - name: 'Build NSO-RPC - x86_64' - runs-on: ${{ matrix.os }} + build-windows: + name: 'Build NSO-RPC - Windows' + runs-on: windows-latest strategy: fail-fast: false matrix: - os: ['windows-latest', 'ubuntu-latest', 'macos-latest'] + pyqt_version: + - 'pyqt6' + - 'pyqt5' steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v3 with: python-version: 3.11.4 - - # Windows Build - name: "Build" - if: matrix.os == 'windows-latest' run: | + python -m pip install ${{ matrix.pyqt_version }} && cd scripts && - python -m pip install pyqt6 && ./build.bat - + - name: "Rename executable" + if: matrix.pyqt_version == 'pyqt5' + run: mv client/dist/NSO-RPC.exe client/dist/NSO-RPC-qt5.exe - name: "Upload Build" - if: matrix.os == 'windows-latest' uses: softprops/action-gh-release@v0.1.15 with: - files: client/dist/NSO-RPC.exe + files: | + client/dist/NSO-RPC*.exe - # Linux Build + build-linux: + name: 'Build NSO-RPC - Linux' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v3 + with: + python-version: 3.11.4 - name: "Upload script" - if: matrix.os == 'ubuntu-latest' + run: | + cd scripts && + chmod +x linux.sh + continue-on-error: false + - name: "Upload Build" uses: softprops/action-gh-release@v0.1.15 with: files: scripts/linux.sh - # MacOS Build + build-macos: + name: 'Build NSO-RPC - MacOS' + runs-on: macos-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v3 + with: + python-version: 3.11.4 - name: "Build" - if: matrix.os == 'macos-latest' run: | cd scripts && python -m pip install pyqt6 && - bash ./build.sh && + ./build.sh && cd ../client/dist && ln -s /Applications "Applications (admin)" && hdiutil create -fs HFS+ -srcfolder . -volname NSO-RPC mac-installer.dmg && zip -yr mac-portable.zip NSO-RPC.app/ - - name: "Upload Build" - if: matrix.os == 'macos-latest' uses: softprops/action-gh-release@v0.1.15 with: files: | @@ -63,8 +79,9 @@ jobs: runs-on: macos-latest steps: - uses: actions/checkout@v3 - - # MacOS Universal Build + - uses: actions/setup-python@v3 + with: + python-version: 3.11.4 - name: "Install Python 3.11.4 and build NSO-RPC" run: | curl https://www.python.org/ftp/python/3.11.4/python-3.11.4-macos11.pkg -o python-3.11.4-macos11.pkg @@ -76,7 +93,6 @@ jobs: ln -s /Applications "Applications (admin)" && hdiutil create -fs HFS+ -srcfolder . -volname NSO-RPC mac-universal2-installer.dmg && zip -yr mac-universal2-portable.zip NSO-RPC.app/ - - name: "Upload NSO-RPC Universal2 Build" uses: softprops/action-gh-release@v0.1.15 with: @@ -85,15 +101,16 @@ jobs: client/dist/mac-universal2-portable.zip get-hashes: - runs-on: "ubuntu-latest" - needs: ["build-x86_64", "build-universal2"] + name: 'Generate Checksums' + runs-on: ubuntu-latest + needs: [build-windows, build-linux, build-macos, build-universal2] steps: - - name: "Generate checksums.txt" - uses: MCJack123/ghaction-generate-release-hashes@v4 - with: - hash-type: sha256 - file-name: checksums.txt - get-assets: true - - uses: softprops/action-gh-release@v0.1.15 - with: - files: checksums.txt + - name: "Generate checksums.txt" + uses: MCJack123/ghaction-generate-release-hashes@v4 + with: + hash-type: sha256 + file-name: checksums.txt + get-assets: true + - uses: softprops/action-gh-release@v0.1.15 + with: + files: checksums.txt From 6c39e04031b9dd9d7d96d277e1f8285304a607e2 Mon Sep 17 00:00:00 2001 From: Phoenix / Hotaru Date: Mon, 29 Apr 2024 22:16:30 +0100 Subject: [PATCH 2/3] Update action Images --- .github/workflows/actions.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index ba2a9ab..1195cad 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -14,8 +14,8 @@ jobs: - 'pyqt6' - 'pyqt5' steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: 3.11.4 - name: "Build" @@ -27,7 +27,7 @@ jobs: if: matrix.pyqt_version == 'pyqt5' run: mv client/dist/NSO-RPC.exe client/dist/NSO-RPC-qt5.exe - name: "Upload Build" - uses: softprops/action-gh-release@v0.1.15 + uses: softprops/action-gh-release@v2.0.4 with: files: | client/dist/NSO-RPC*.exe @@ -36,8 +36,8 @@ jobs: name: 'Build NSO-RPC - Linux' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: 3.11.4 - name: "Upload script" @@ -46,7 +46,7 @@ jobs: chmod +x linux.sh continue-on-error: false - name: "Upload Build" - uses: softprops/action-gh-release@v0.1.15 + uses: softprops/action-gh-release@v2.0.4 with: files: scripts/linux.sh @@ -54,8 +54,8 @@ jobs: name: 'Build NSO-RPC - MacOS' runs-on: macos-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: 3.11.4 - name: "Build" @@ -68,7 +68,7 @@ jobs: hdiutil create -fs HFS+ -srcfolder . -volname NSO-RPC mac-installer.dmg && zip -yr mac-portable.zip NSO-RPC.app/ - name: "Upload Build" - uses: softprops/action-gh-release@v0.1.15 + uses: softprops/action-gh-release@v2.0.4 with: files: | client/dist/mac-installer.dmg @@ -78,8 +78,8 @@ jobs: name: 'Build NSO-RPC - Universal2' runs-on: macos-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: 3.11.4 - name: "Install Python 3.11.4 and build NSO-RPC" @@ -94,7 +94,7 @@ jobs: hdiutil create -fs HFS+ -srcfolder . -volname NSO-RPC mac-universal2-installer.dmg && zip -yr mac-universal2-portable.zip NSO-RPC.app/ - name: "Upload NSO-RPC Universal2 Build" - uses: softprops/action-gh-release@v0.1.15 + uses: softprops/action-gh-release@v2.0.4 with: files: | client/dist/mac-universal2-installer.dmg @@ -111,6 +111,6 @@ jobs: hash-type: sha256 file-name: checksums.txt get-assets: true - - uses: softprops/action-gh-release@v0.1.15 + - uses: softprops/action-gh-release@v2.0.4 with: files: checksums.txt From 6222c3306ddce171a36e5bfc1d4acf3674504119 Mon Sep 17 00:00:00 2001 From: Phoenix / Hotaru Date: Wed, 8 May 2024 19:56:41 +0100 Subject: [PATCH 3/3] Use venv for macos building. Co-Authored-By: Spotlight --- scripts/build.sh | 3 +++ scripts/macos-universal2/build.sh | 2 ++ 2 files changed, 5 insertions(+) diff --git a/scripts/build.sh b/scripts/build.sh index 9eb8173..78c3161 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1,3 +1,6 @@ +#!/bin/bash +python3 -m venv --upgrade-deps venv +source venv/bin/activate cd ../client python3 -m pip install -r requirements.txt py2app GitPython python3 _version.py diff --git a/scripts/macos-universal2/build.sh b/scripts/macos-universal2/build.sh index c523351..2e35579 100755 --- a/scripts/macos-universal2/build.sh +++ b/scripts/macos-universal2/build.sh @@ -1,4 +1,6 @@ #!/bin/bash +python3 -m venv --upgrade-deps venv +source venv/bin/activate python3 -m pip install wheel PyQt6 bash prep-PyQt.sh cd ../../client