Version to 2.6.1 #366
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: JQtide | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - main | |
| jobs: | |
| # to run all jobs, enable all | |
| # for selected jobs, disable all and disable the selected needs | |
| all: | |
| #if: false | |
| if: true | |
| runs-on: ubuntu-latest | |
| steps: | |
| - run: echo "Runall jobs" | |
| # linux ---------------------------------------------------------------- | |
| jqtlinux: | |
| needs: all | |
| name: JQtide (Linux) | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Check Git repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install Qt from source | |
| uses: jurplel/install-qt-action@v4 | |
| with: | |
| aqtversion: '==3.3.*' | |
| version: 6.10.1 | |
| host: 'linux' | |
| target: 'desktop' | |
| arch: 'linux_gcc_64' | |
| dir: '${{github.workspace}}' | |
| modules: 'all' | |
| - name: Compile JQtide | |
| run: script/makelinux.sh linux x64 '6.10.1' | |
| - name: Release JQtide | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: build | |
| artifacts: "jqt-linux.tar.gz,jqt-linux-slim.tar.gz,version.txt" | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| allowUpdates: true | |
| replacesArtifacts: true | |
| # macOS ---------------------------------------------------------------- | |
| jqtmacos: | |
| needs: all | |
| name: JQtide (macOS) | |
| runs-on: macos-15-intel | |
| steps: | |
| - name: Check Git repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install Qt from source | |
| uses: jurplel/install-qt-action@v4 | |
| with: | |
| version: '6.10.1' | |
| target: 'desktop' | |
| dir: '${{github.workspace}}' | |
| modules: 'all' | |
| aqtversion: '==3.3.*' | |
| - name: Compile JQtide | |
| env: | |
| CC: clang | |
| run: QM=${{github.workspace}}/Qt/6.10.1/macos/bin/qmake script/makemac.sh mac '6.10.1' | |
| - name: Release JQtide | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: build | |
| artifacts: "jqt-mac.zip,jqt-mac-slim.zip" | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| allowUpdates: true | |
| replacesArtifacts: true | |
| # rpi64arm ------------------------------------------------------------- | |
| jqtrpi64arm: | |
| needs: all | |
| name: JQtide (Linux arm) | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - name: Check Git repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Setup Environment (Linux arm) | |
| run: | | |
| script/install-rpi.sh | |
| sudo apt-get update -y | |
| sudo apt-cache search qt5 1>&2 | |
| sudo apt-cache search qt6 1>&2 | |
| - name: Install Qt from source | |
| uses: jurplel/install-qt-action@v4 | |
| with: | |
| aqtversion: '==3.3.*' | |
| version: 6.10.1 | |
| host: 'linux_arm64' | |
| target: 'desktop' | |
| arch: 'linux_gcc_arm64' | |
| dir: '${{github.workspace}}' | |
| modules: 'all' | |
| - name: Compile JQtide | |
| run: script/makelinux.sh raspberry arm64 '6.10.1' | |
| - name: Release JQtide | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: build | |
| artifacts: "jqt-raspberry.tar.gz,jqt-raspberry-slim.tar.gz" | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| allowUpdates: true | |
| replacesArtifacts: true | |
| # rpi64arm ------------------------------------------------------------- | |
| jqtrpi64arm5: | |
| needs: all | |
| name: JQtide (Linux arm) | |
| if: ${{ false }} | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - name: Check Git repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install Qt from distro | |
| run: script/installqt.sh raspberry arm64 '5.15.2' | |
| - name: Compile JQtide | |
| run: script/makelinux.sh raspberry arm64 '5.15.2' # previous 5.15.2 | |
| # run: QM=${{github.workspace}}/Qt/5.15.2/gcc_64/bin/qmake script/makelinux.sh raspberry arm64 '5.15.2' | |
| - name: Release JQtide | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: build | |
| artifacts: "jqt-raspberry.tar.gz,jqt-raspberry-slim.tar.gz" | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| allowUpdates: true | |
| replacesArtifacts: true | |
| # rpi64 ---------------------------------------------------------------- | |
| jqtrpi64: | |
| needs: all | |
| name: JQtide (Raspberry) | |
| if: ${{ false }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check Git repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install Qt, Compile JQtide | |
| uses: pguyot/arm-runner-action@v2 | |
| with: | |
| cpu: cortex-a53 | |
| cpu_info: cpuinfo/raspberrypi_zero2_w_arm64 | |
| base_image: raspios_lite_arm64:latest | |
| image_additional_mb: 2048 | |
| copy_artifact_path: output | |
| commands: | | |
| script/installqt.sh raspberry arm64 '5.15.2' | |
| export CC=clang | |
| mkdir -p output | |
| script/makelinux.sh raspberry arm64 '5.15.2' | |
| find output -type d -exec chmod a+rwx {} \; | |
| find output -type f -exec chmod a+rw {} \; | |
| - name: Transfer JQtide | |
| run: | | |
| ls output/* | |
| mv output/* . | |
| - name: Release JQtide | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: build | |
| artifacts: "jqt-raspberry.tar.gz,jqt-raspberry-slim.tar.gz" | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| allowUpdates: true | |
| replacesArtifacts: true | |
| # rpi32arm ------------------------------------------------------------- | |
| jqtrpi32arm: | |
| needs: all | |
| name: JQtide (Linux arm32) | |
| if: ${{ false }} | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - name: Check Git repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Environment (Linux arm) | |
| run: | | |
| script/install-rpi.sh | |
| sudo apt-get update -y | |
| sudo apt-cache search qt5 1>&2 | |
| sudo apt-cache search qt6 1>&2 | |
| - name: Install Qt from distro | |
| run: script/installqt.sh raspberry armv6l '6.10.1' | |
| - name: Compile JQtide | |
| env: | |
| CC: arm-linux-gnueabihf-gcc | |
| CXX: arm-linux-gnueabihf-g++ | |
| run: script/makelinux.sh raspberry armv6l '6.10.1' # previous 5.15.2 | |
| - name: Release JQtide | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: build | |
| artifacts: "jqt-raspberry-arm32.tar.gz,jqt-raspberry-arm32-slim.tar.gz" | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| allowUpdates: true | |
| replacesArtifacts: true | |
| # rpi32 ---------------------------------------------------------------- | |
| jqtrpi32: | |
| needs: all | |
| name: JQtide (Raspberry-arm32) | |
| if: ${{ false }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check Git repository | |
| uses: actions/checkout@v4 | |
| - name: Install Qt, Compile JQtide | |
| uses: pguyot/arm-runner-action@v2 | |
| with: | |
| cpu: arm1176 | |
| cpu_info: cpuinfo/raspberrypi_zero2_w | |
| base_image: raspios_lite:latest | |
| image_additional_mb: 2048 | |
| copy_artifact_path: output | |
| commands: | | |
| export CC=gcc | |
| sudo apt-get update -y | |
| sudo apt-cache search qt5 1>&2 | |
| sudo apt-cache search qt6 1>&2 | |
| script/installqt.sh raspberry armv6l '5.15.2' | |
| script/makelinux.sh raspberry armv6l '5.15.2' | |
| find output -type d -exec chmod a+rwx {} \; | |
| find output -type f -exec chmod a+rw {} \; | |
| - name: Transfer JQtide | |
| run: | | |
| ls output/* | |
| mv output/* . | |
| - name: Release JQtide | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: build | |
| artifacts: "jqt-raspberry-arm32.tar.gz,jqt-raspberry-arm32-slim.tar.gz" | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| allowUpdates: true | |
| replacesArtifacts: true | |
| # openbsd -------------------------------------------------------------- | |
| jqtopenbsd: | |
| needs: all | |
| name: JQtide (OpenBSD cross-platform-actions) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Git repository | |
| uses: actions/checkout@v4 | |
| - name: Install Qt, Compile JQtide | |
| uses: cross-platform-actions/action@v0.27.0 | |
| with: | |
| operating_system: openbsd | |
| architecture: x86-64 | |
| version: '7.6' | |
| shell: bash | |
| run: | | |
| rm -f jobdone | |
| export IGNORE_OSVERSION=yes | |
| sudo pkg_add -u | |
| sudo pkg_info -Q qt6 | |
| sudo pkg_add curl zip gmake | |
| sudo rdate time.cloudflare.com || true | |
| export CC=clang | |
| script/installqt.sh openbsd x64 '6.6.3' || exit 1 | |
| script/makelinux.sh openbsd x64 '6.6.3' || exit 1 | |
| touch jobdone | |
| - name: Check Status | |
| run: | | |
| test -f jobdone || exit 1 | |
| - name: Release JQtide | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: build | |
| artifacts: "jqt-openbsd.tar.gz,jqt-openbsd-slim.tar.gz" | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| allowUpdates: true | |
| replacesArtifacts: true | |
| # freebsd -------------------------------------------------------------- | |
| jqtfreebsd: | |
| needs: all | |
| name: JQtide (FreeBSD vmactions) | |
| if: ${{ false }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Git repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install Qt, Compile JQtide | |
| uses: vmactions/freebsd-vm@v0 | |
| with: | |
| usesh: true | |
| sync: sshfs | |
| prepare: | | |
| rdate time.cloudflare.com || true | |
| pkg install -y curl zip gmake sudo | |
| run: | | |
| rm -f jobdone | |
| export IGNORE_OSVERSION=yes | |
| pkg search 'qt6*' 1>&2 | |
| pkg install -y curl zip gmake | |
| rdate time.cloudflare.com || true | |
| export CC=clang | |
| script/installqt.sh freebsd x64 '5.15.2' || exit 1 | |
| script/makelinux.sh freebsd x64 '5.15.2' || exit 1 | |
| touch jobdone | |
| - name: Check Status | |
| run: | | |
| test -f jobdone || exit 1 | |
| - name: Release JQtide | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: build | |
| artifacts: "jqt-freebsd.tar.gz,jqt-freebsd-slim.tar.gz" | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| allowUpdates: true | |
| replacesArtifacts: true | |
| # freebsd -------------------------------------------------------------- | |
| jqtfreebsd2: | |
| needs: all | |
| name: JQtide (FreeBSD cross-platform-actions) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Git repository | |
| uses: actions/checkout@v4 | |
| - name: Install Qt, Compile JQtide | |
| uses: cross-platform-actions/action@v0.27.0 | |
| with: | |
| operating_system: freebsd | |
| architecture: x86-64 | |
| version: '14.2' | |
| shell: bash | |
| run: | | |
| rm -f jobdone | |
| export IGNORE_OSVERSION=yes | |
| sudo pkg upgrade -y | |
| sudo pkg search 'qt6*' 1>&2 | |
| sudo pkg install -y curl zip gmake | |
| sudo rdate time.cloudflare.com || true | |
| export CC=clang | |
| script/installqt.sh freebsd x64 '6.9.3' || exit 1 | |
| script/makelinux.sh freebsd x64 '6.9.3' || exit 1 | |
| touch jobdone | |
| - name: Check Status | |
| run: | | |
| test -f jobdone || exit 1 | |
| - name: Release JQtide | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: build | |
| artifacts: "jqt-freebsd.tar.gz,jqt-freebsd-slim.tar.gz" | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| allowUpdates: true | |
| replacesArtifacts: true | |
| # windows -------------------------------------------------------------- | |
| jqtwin: | |
| needs: all | |
| name: JQtide (Windows) | |
| runs-on: windows-2022 | |
| steps: | |
| - name: Check Git repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Setup Environment (Windows) | |
| uses: ilammy/msvc-dev-cmd@v1 | |
| with: | |
| arch: amd64 | |
| - name: Install Qt from source | |
| uses: jurplel/install-qt-action@v4 | |
| with: | |
| version: '6.10.1' | |
| host: 'windows' | |
| target: 'desktop' | |
| arch: 'win64_msvc2022_64' | |
| dir: '${{github.workspace}}' | |
| # modules: 'qtwebengine qt5compat qtwebsockets qtmultimedia qtwebchannel qtpositioning' | |
| modules: 'all' | |
| aqtversion: '==3.3.*' | |
| - name: Compile JQtide | |
| shell: cmd | |
| run: script\makewin.cmd x64 6.10.1 | |
| - name: Release JQtide | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: build | |
| artifacts: "jqt-win.zip,jqt-win-slim.zip" | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| allowUpdates: true | |
| replacesArtifacts: true | |
| # windows arm64 -------------------------------------------------------- | |
| jqtwinarm64: | |
| needs: all | |
| name: JQtide (Windows arm64) | |
| runs-on: windows-11-arm | |
| steps: | |
| - name: Check Git repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Setup Environment (Windows arm64) | |
| uses: ilammy/msvc-dev-cmd@v1 | |
| with: | |
| arch: arm64 | |
| - name: Install Qt from source | |
| uses: jurplel/install-qt-action@v4 | |
| with: | |
| version: '6.10.1' | |
| host: 'windows_arm64' | |
| target: 'desktop' | |
| arch: 'win64_msvc2022_arm64' | |
| dir: '${{github.workspace}}' | |
| # modules: 'qtwebengine qt5compat qtwebsockets qtmultimedia qtwebchannel qtpositioning' | |
| modules: 'all' | |
| aqtversion: '==3.3.*' | |
| - name: Compile JQtide | |
| shell: cmd | |
| run: script\makewin.cmd arm64 6.10.1 | |
| - name: Release JQtide | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: build | |
| artifacts: "jqt-winarm64.zip,jqt-winarm64-slim.zip" | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| allowUpdates: true | |
| replacesArtifacts: true | |
| # wasm ----------------------------------------------------------------- | |
| jqtwasm: | |
| needs: all | |
| name: JQtide (wasm) | |
| if: ${{ false }} | |
| runs-on: macos-15 | |
| steps: | |
| - name: Check Git repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install Qt from source | |
| uses: Kidev/install-qt-action@v4.4.2 | |
| with: | |
| version: '6.10.1' | |
| target: 'desktop' | |
| dir: '${{github.workspace}}' | |
| # modules: 'qt5compat qtwebsockets qtmultimedia qtwebchannel qtpositioning' | |
| # modules: 'all' | |
| aqtversion: '==3.3.*' | |
| - name: Install Qt from source wasm | |
| uses: Kidev/install-qt-action@v4.4.2 | |
| with: | |
| version: '6.10.1' | |
| host: 'all_os' | |
| target: 'wasm' | |
| arch: 'wasm_multithread' | |
| dir: '${{github.workspace}}' | |
| # modules: 'qt5compat qtwebsockets qtmultimedia qtwebchannel' | |
| modules: 'all' | |
| aqtversion: '==3.3.*' | |
| - name: Install emsdk | |
| uses: mymindstorm/setup-emsdk@v14 | |
| with: | |
| version: '3.1.70' | |
| - name: Verify | |
| run: emcc -v | |
| - name: Compile JQtide | |
| env: | |
| CC: clang | |
| run: | | |
| ./cpjlib.sh | |
| ./cplibjtest.sh | |
| JQTSLIM=JQTSLIM QMAKESPEC=wasm-emscripten QM=${{github.workspace}}/Qt/6.10.1/wasm_multithread/bin/qmake ./makeall.sh | |
| rm -rf j32 | |
| mkdir j32 | |
| ls -l bin/wasm-wasm32/release | |
| cp bin/wasm-wasm32/release/* j32/. | |
| zip -r jqt-wasm-slim.zip j32 | |
| - name: Release JQtide | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: build | |
| artifacts: "jqt-wasm-slim.zip" | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| allowUpdates: true | |
| replacesArtifacts: true | |
| # ios ------------------------------------------------------------------ | |
| jqtios: | |
| needs: all | |
| name: JQtide (ios) | |
| if: ${{ false }} | |
| runs-on: macos-15 | |
| steps: | |
| - name: Check Git repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install Qt from source | |
| uses: jurplel/install-qt-action@v4 | |
| with: | |
| version: '6.10.1' | |
| target: 'desktop' | |
| dir: '${{github.workspace}}' | |
| # modules: 'qt5compat qtwebsockets qtmultimedia qtwebchannel qtpositioning' | |
| # modules: 'all' | |
| aqtversion: '==3.3.*' | |
| - name: Install Qt from source ios | |
| uses: jurplel/install-qt-action@v4 | |
| with: | |
| version: '6.10.1' | |
| target: 'ios' | |
| dir: '${{github.workspace}}' | |
| # modules: 'qt5compat qtwebsockets qtmultimedia qtwebchannel qtpositioning' | |
| modules: 'all' | |
| aqtversion: '==3.3.*' | |
| - name: Compile JQtide | |
| env: | |
| CC: clang | |
| run: | | |
| cd ~/ | |
| wget https://www.jsoftware.com/download/j9.7/install/j9.7_mac64.zip | |
| unzip j9.7_mac64.zip | |
| find j9.7 -type f -name 'jconsole' -exec chmod 755 {} \; | |
| j9.7/bin/jconsole -js "exit 0['install'jpkg'all'['update'jpkg''[load'pacman'" | |
| cd - | |
| rm -rf jlibrary | |
| mkdir -p jlibrary/bin | |
| cp -r ~/j9.7/addons jlibrary/. | |
| cp -r ~/j9.7/system jlibrary/. | |
| cp ~/j9.7/bin/profile.ijs jlibrary/bin/. | |
| rm -rf ~/j9.7 | |
| rm -rf ~/j9.7-user | |
| cd ~/ | |
| wget https://github.com/jsoftware/jsource/releases/download/build/m64.zip | |
| unzip m64.zip | |
| cd - | |
| rm -rf ios | |
| cp -r ~/j64/ios . | |
| rm -rf ~/m64.zip | |
| rm -rf ~/j64 | |
| mkdir -p ios/mpir | |
| cd ios/mpir | |
| wget https://www.jsoftware.com/download/jengine/mpir/apple/ios/libgmp.a | |
| cd - | |
| cd ~/ | |
| wget https://github.com/jsoftware/jsource/archive/master.tar.gz | |
| tar -xzf master.tar.gz | |
| cd - | |
| rm -rf test | |
| cp -r ~/jsource-master/test . | |
| rm -rf ~/jsource-master | |
| echo "QMAKE_XCODE_CODE_SIGN_IDENTITY = \"iPhone Developer\"" > ios_signature.pri | |
| echo "development_team.name = DEVELOPMENT_TEAM" >> ios_signature.pri | |
| echo "development_team.value = bill.w.lam@icloud.com" >> ios_signature.pri | |
| echo "QMAKE_MAC_XCODE_SETTINGS += development_team" >> ios_signature.pri | |
| QM=${{github.workspace}}/Qt/6.10.1/ios/bin/qmake script/makemac.sh ios '6.10.1' | |
| - name: Release JQtide | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: build | |
| artifacts: "jqt-ios-slim.zip" | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| allowUpdates: true | |
| replacesArtifacts: true | |
| webhook: | |
| name: Run Webhook | |
| runs-on: ubuntu-22.04 | |
| # needs: [jqtlinux, jqtmacos, jqtrpi64, jqtwin, jqtwinarm64, jqtfreebsd2, jqtopenbsd, jqtios, jqtwasm ] | |
| # needs: [jqtlinux, jqtmacos, jqtrpi64arm, jqtwin, jqtwinarm64, jqtrpi32arm, jqtfreebsd2, jqtopenbsd ] | |
| needs: [jqtlinux, jqtmacos, jqtrpi64arm, jqtwin, jqtwinarm64, jqtfreebsd2, jqtopenbsd ] | |
| steps: | |
| - name: update server | |
| uses: distributhor/workflow-webhook@v2 | |
| env: | |
| webhook_url: ${{ secrets.WEBHOOK_URL }} | |
| webhook_secret: ${{ secrets.WEBHOOK_SECRET }} | |
| data: '{ "id": "jqtbuild" }' |