Skip to content

test

test #234

Workflow file for this run

name: JQtide
on:
push:
branches:
- master
- main
# if: ${{ false }}
jobs:
# linux ----------------------------------------------------------------
jqtlinux:
name: JQtide (Linux)
runs-on: ubuntu-20.04
steps:
- name: Check Git repository
uses: actions/checkout@v4
with:
submodules: recursive
# - name: Install Qt from distro
# run: script/installqt.sh linux
- name: Install Qt from source
uses: jurplel/install-qt-action@v4
with:
version: '5.15.2'
target: 'desktop'
dir: '${{github.workspace}}'
# modules: 'qtwebengine qt5compat qtwebsockets qtmultimedia qtwebchannel qtpositioning'
modules: 'all'
aqtversion: '==3.1.*'
- name: Compile JQtide
# run: script/makelinux.sh '5.15.2' linux # previous 5.12.8
run: QM=${{github.workspace}}/Qt/5.15.2/gcc_64/bin/qmake script/makelinux.sh '5.15.2' linux
- 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:
name: JQtide (macOS)
runs-on: macos-13
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.5.3'
target: 'desktop'
dir: '${{github.workspace}}'
# modules: 'qtwebengine qt5compat qtwebsockets qtmultimedia qtwebchannel qtpositioning'
modules: 'all'
aqtversion: '==3.1.*'
- name: Compile JQtide
env:
CC: clang
run: QM=${{github.workspace}}/Qt/6.5.3/macos/bin/qmake script/makemac.sh '6.5.3' mac
- 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
# rpi64 ----------------------------------------------------------------
jqtrpi64:
name: JQtide (Raspberry)
runs-on: ubuntu-20.04
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
export CC=clang
mkdir -p output
script/makelinux.sh '5.15.2' raspberry
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
# rpi32 ----------------------------------------------------------------
jqtrpi32:
name: JQtide (Raspberry-arm32)
if: ${{ false }}
runs-on: ubuntu-20.04
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: arm1176
cpu_info: cpuinfo/raspberrypi_zero2_w
base_image: raspbian_lite:2020-02-13
image_additional_mb: 2048
copy_artifact_path: output
commands: |
export CC=gcc
script/installqt.sh raspberry-arm32
script/makelinux.sh '5.15.2' raspberry-arm32
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:
name: JQtide (OpenBSD cross-platform-actions)
runs-on: macos-13
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Qt, Compile JQtide
uses: cross-platform-actions/action@v0.23.0
with:
operating_system: openbsd
architecture: x86-64
version: '7.2'
shell: bash
run: |
rm -f jobdone
export IGNORE_OSVERSION=yes
sudo pkg_add curl zip gmake
sudo rdate time.cloudflare.com || true
export CC=clang
script/installqt.sh openbsd || exit 1
script/makelinux.sh '5.15.2' openbsd || 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:
name: JQtide (FreeBSD vmactions)
if: ${{ false }}
runs-on: macos-13
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
pkg install -y curl zip gmake
rdate time.cloudflare.com || true
export CC=clang
script/installqt.sh freebsd || exit 1
script/makelinux.sh '5.15.12' freebsd || 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:
name: JQtide (FreeBSD cross-platform-actions)
runs-on: ubuntu-latest
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Qt, Compile JQtide
uses: cross-platform-actions/action@v0.23.0
with:
operating_system: freebsd
architecture: x86-64
version: '13.2'
shell: bash
run: |
rm -f jobdone
export IGNORE_OSVERSION=yes
sudo pkg install -y curl zip gmake
sudo rdate time.cloudflare.com || true
export CC=clang
script/installqt.sh freebsd || exit 1
script/makelinux.sh '5.15.12' freebsd || 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:
name: JQtide (Windows)
runs-on: windows-2019
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.5.3'
target: 'desktop'
arch: 'win64_msvc2019_64'
dir: '${{github.workspace}}'
# modules: 'qtwebengine qt5compat qtwebsockets qtmultimedia qtwebchannel qtpositioning'
modules: 'all'
aqtversion: '==3.1.*'
- name: Compile JQtide
shell: cmd
run: script\makewin.cmd 6.5.3 x64
- 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:
name: JQtide (Windows arm64)
runs-on: windows-2022
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: amd64_arm64
- name: Install Qt from source
uses: jurplel/install-qt-action@v4
with:
version: '6.7.3'
target: 'desktop'
arch: 'win64_msvc2019_64'
dir: '${{github.workspace}}'
# modules: 'qtwebengine qt5compat qtwebsockets qtmultimedia qtwebchannel qtpositioning'
modules: 'all'
aqtversion: '==3.1.*'
- name: Install Qt from source arm64
uses: jurplel/install-qt-action@v4
with:
version: '6.7.3'
target: 'desktop'
arch: 'win64_msvc2019_arm64'
dir: '${{github.workspace}}'
# modules: 'qtwebengine qt5compat qtwebsockets qtmultimedia qtwebchannel qtpositioning'
modules: 'all'
aqtversion: '==3.1.*'
- name: Compile JQtide
shell: cmd
run: script\makewin.cmd 6.7.3 arm64
- name: Release JQtide
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "jqt-winarm64-slim.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
# wasm -----------------------------------------------------------------
jqtwasm:
name: JQtide (wasm)
if: ${{ false }}
runs-on: macos-13
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.5.3'
target: 'desktop'
dir: '${{github.workspace}}'
# modules: 'qt5compat qtwebsockets qtmultimedia qtwebchannel qtpositioning'
modules: 'all'
aqtversion: '==3.1.*'
- name: Install Qt from source wasm
uses: jurplel/install-qt-action@v4
with:
version: '6.5.3'
target: 'desktop'
arch: 'wasm_multithread'
dir: '${{github.workspace}}'
# modules: 'qt5compat qtwebsockets qtmultimedia qtwebchannel'
modules: 'all'
aqtversion: '==3.1.*'
- name: Install emsdk
uses: mymindstorm/setup-emsdk@v14
with:
version: '3.1.32'
- 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.5.3/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:
name: JQtide (ios)
runs-on: macos-13
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.5.3'
target: 'desktop'
dir: '${{github.workspace}}'
# modules: 'qt5compat qtwebsockets qtmultimedia qtwebchannel qtpositioning'
modules: 'all'
aqtversion: '==3.1.*'
- name: Install Qt from source ios
uses: jurplel/install-qt-action@v4
with:
version: '6.5.3'
target: 'ios'
dir: '${{github.workspace}}'
# modules: 'qt5compat qtwebsockets qtmultimedia qtwebchannel qtpositioning'
modules: 'all'
aqtversion: '==3.1.*'
- name: Compile JQtide
env:
CC: clang
run: |
cd ~/
wget https://www.jsoftware.com/download/j9.6/install/j9.6_mac64.zip
unzip j9.6_mac64.zip
find j9.6 -type f -name 'jconsole' -exec chmod 755 {} \;
j9.6/bin/jconsole -js "exit 0['install'jpkg'all'['update'jpkg''[load'pacman'"
cd -
rm -rf jlibrary
mkdir -p jlibrary/bin
cp -r ~/j9.6/addons jlibrary/.
cp -r ~/j9.6/system jlibrary/.
cp ~/j9.6/bin/profile.ijs jlibrary/bin/.
rm -rf ~/j9.6
rm -rf ~/j9.6-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.5.3/ios/bin/qmake script/makemac.sh '6.5.3' ios
- 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-20.04
# 7 jul 2024 - ios/wasm builds fail
# needs: [jqtlinux, jqtmacos, jqtrpi64, jqtwin, jqtfreebsd2, jqtopenbsd, jqtios, jqtwasm]
needs: [jqtlinux, jqtmacos, jqtrpi64, jqtwin, jqtwinarm64, jqtfreebsd2, jqtopenbsd, jqtios]
steps:
- name: update server
uses: distributhor/workflow-webhook@v2
env:
webhook_url: ${{ secrets.WEBHOOK_URL }}
webhook_secret: ${{ secrets.WEBHOOK_SECRET }}
data: '{ "id": "jqtbuild" }'