Skip to content

freebsd

freebsd #346

Workflow file for this run

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.0
host: 'linux'
target: 'desktop'
arch: 'linux_gcc_64'
dir: '${{github.workspace}}'
modules: 'all'
- name: Compile JQtide
run: script/makelinux.sh linux '6.10.0'
- 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.0'
target: 'desktop'
dir: '${{github.workspace}}'
modules: 'all'
aqtversion: '==3.3.*'
- name: Compile JQtide
env:
CC: clang
run: QM=${{github.workspace}}/Qt/6.10.0/macos/bin/qmake script/makemac.sh '6.10.0' 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
# 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.0
host: 'linux_arm64'
target: 'desktop'
arch: 'linux_gcc_arm64'
dir: '${{github.workspace}}'
modules: 'all'
- name: Compile JQtide
run: script/makelinux.sh raspberry '6.10.0'
- 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 '5.15.2'
- name: Compile JQtide
run: script/makelinux.sh raspberry '5.15.2' # previous 5.15.2
# run: QM=${{github.workspace}}/Qt/5.15.2/gcc_64/bin/qmake script/makelinux.sh raspberry '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 '5.15.2'
export CC=clang
mkdir -p output
script/makelinux.sh raspberry '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)
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-arm32 '6.10.0'
- name: Compile JQtide
env:
CC: arm-linux-gnueabihf-gcc
CXX: arm-linux-gnueabihf-g++
run: script/makelinux.sh raspberry-arm32 '6.10.0' # 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
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: raspios_lite:latest
image_additional_mb: 2048
copy_artifact_path: output
commands: |
export CC=gcc
script/installqt.sh raspberry-arm32 '5.15.2'
script/makelinux.sh raspberry-arm32 '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 '6.6.3' || exit 1
script/makelinux.sh openbsd '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 '5.15.2' || exit 1
script/makelinux.sh freebsd '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 '6.9.3' || exit 1
script/makelinux.sh freebsd '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.0'
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 6.10.0 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:
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.0'
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 6.10.0 arm64
- 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-intel
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.0'
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.0'
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.0/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-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.0'
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.0'
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.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.10.0/ios/bin/qmake script/makemac.sh '6.10.0' 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-22.04
# needs: [jqtlinux, jqtmacos, jqtrpi64, jqtwin, jqtwinarm64, jqtfreebsd2, jqtopenbsd, jqtios, jqtwasm ]
needs: [jqtlinux, jqtmacos, jqtrpi64arm, jqtwin, jqtwinarm64, jqtrpi32arm, 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" }'