Skip to content

minor

minor #3598

Workflow file for this run

name: JE
on:
push:
branches: [ master ]
# trigger workflow on file change
#on:
# push:
# paths:
# - 'version.txt'
# if: ${{ false }}
jobs:
# linux ----------------------------------------------------------------
jelinux:
name: JE (Linux)
runs-on: ubuntu-22.04
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (Linux)
run: |
script/install-lnx.sh
sudo mkdir -p /usr/lib/x86_64-linux-gnu
sudo mkdir -p /usr/lib/i386-linux-gnu
sudo cp openmp/obj/linux/x86_64/libomp.so.5 /usr/lib/x86_64-linux-gnu/libomp.so.5
sudo cp openmp/obj/linux/i386/libomp.so.5 /usr/lib/i386-linux-gnu/libomp.so.5
- name: Commit
run: script/commit.sh ${{ github.sha }} ${{ github.actor }}
- name: Build JE (Linux)
env:
CC: clang
USE_SLEEF: 1
USE_OPENMP: 0
USE_PYXES: 1
USE_EMU_AVX: 1
run: |
script/buildga.sh linux x86_64 || exit 1
- name: Test JE (Linux)
env:
USE_PYXES: 1
USE_EMU_AVX: 1
run: |
script/testga.sh linux x86_64 || exit 1
cp jlibrary/bin/* j64 || true
rm -f j64/profile.ijs
strip -S j64/jconsole || true
strip -S j64/jamalgam || true
strip -S j64/*so || true
ls -l j64
zip -r l64.zip j64
- name: Release JE (Linux)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "l64.zip,commit.txt,version.txt"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (Linux)
uses: actions/upload-artifact@v4
with:
name: dist
path: testlinux.txt
overwrite: true
# linux gcc ------------------------------------------------------------
jelinux-gcc:
name: JE (Linux gcc)
runs-on: ubuntu-24.04
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (Linux gcc)
run: |
script/install-lnx.sh
sudo mkdir -p /usr/lib/x86_64-linux-gnu
sudo mkdir -p /usr/lib/i386-linux-gnu
sudo cp openmp/obj/linux/x86_64/libomp.so.5 /usr/lib/x86_64-linux-gnu/libomp.so.5
sudo cp openmp/obj/linux/i386/libomp.so.5 /usr/lib/i386-linux-gnu/libomp.so.5
- name: Build JE (Linux gcc)
env:
CC: gcc
USE_SLEEF: 1
USE_OPENMP: 0
USE_PYXES: 1
USE_EMU_AVX: 1
_DEBUG: 3
run: |
script/buildga.sh linux x86_64 || exit 1
- name: Test JE (Linux gcc)
env:
USE_PYXES: 1
USE_EMU_AVX: 1
_DEBUG: 3
run: |
script/testga.sh linux x86_64 || exit 1
# linux32 --------------------------------------------------------------
jelinux32:
name: JE (Linux32)
runs-on: ubuntu-22.04
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (Linux32)
run: |
script/install-lnx.sh
sudo mkdir -p /usr/lib/x86_64-linux-gnu
sudo mkdir -p /usr/lib/i386-linux-gnu
sudo cp openmp/obj/linux/x86_64/libomp.so.5 /usr/lib/x86_64-linux-gnu/libomp.so.5
sudo cp openmp/obj/linux/i386/libomp.so.5 /usr/lib/i386-linux-gnu/libomp.so.5
- name: Build JE (Linux32)
env:
CC: clang
USE_SLEEF: 1
USE_OPENMP: 0
USE_PYXES: 0
USE_EMU_AVX: 0
run: |
script/buildga.sh linux i386 || exit 1
- name: Test JE (Linux32)
env:
USE_PYXES: 0
USE_EMU_AVX: 0
run: |
script/testga.sh linux i386 || exit 1
cp jlibrary/bin32/* j32 || true
rm -f j32/profile.ijs
strip -S j32/jconsole || true
strip -S j32/jamalgam || true
strip -S j32/*so || true
ls -l j32
zip -r l32.zip j32
- name: Release JE (Linux32)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "l32.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (Linux32)
uses: actions/upload-artifact@v4
with:
name: dist
path: testlinux32.txt
overwrite: true
# linux32 gcc ----------------------------------------------------------
jelinux32-gcc:
name: JE (Linux32 gcc)
runs-on: ubuntu-22.04
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (Linux32 gcc)
run: |
script/install-lnx.sh
sudo mkdir -p /usr/lib/x86_64-linux-gnu
sudo mkdir -p /usr/lib/i386-linux-gnu
sudo cp openmp/obj/linux/x86_64/libomp.so.5 /usr/lib/x86_64-linux-gnu/libomp.so.5
sudo cp openmp/obj/linux/i386/libomp.so.5 /usr/lib/i386-linux-gnu/libomp.so.5
- name: Build JE (Linux32 gcc)
env:
CC: gcc
USE_SLEEF: 1
USE_OPENMP: 0
USE_PYXES: 0
USE_EMU_AVX: 0
_DEBUG: 3
run: |
script/buildga.sh linux i386 || exit 1
- name: Test JE (Linux32 gcc)
env:
USE_PYXES: 0
USE_EMU_AVX: 0
_DEBUG: 3
run: |
script/testga.sh linux i386 || exit 1
# linux debug ----------------------------------------------------------
jelinuxd:
name: JE (Linux debug)
runs-on: ubuntu-24.04
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (Linux debug)
run: |
script/install-lnx.sh
sudo mkdir -p /usr/lib/x86_64-linux-gnu
sudo mkdir -p /usr/lib/i386-linux-gnu
sudo cp openmp/obj/linux/x86_64/libomp.so.5 /usr/lib/x86_64-linux-gnu/libomp.so.5
sudo cp openmp/obj/linux/i386/libomp.so.5 /usr/lib/i386-linux-gnu/libomp.so.5
- name: Build JE (Linux debug)
env:
CC: clang
USE_SLEEF: 1
USE_OPENMP: 0
USE_PYXES: 1
USE_EMU_AVX: 1
_DEBUG: 3
run: |
script/buildga.sh linux x86_64 || exit 1
- name: Test JE (Linux debug)
env:
USE_PYXES: 1
USE_EMU_AVX: 1
_DEBUG: 3
run: |
script/testga.sh linux x86_64 || exit 1
# macOS ----------------------------------------------------------------
jemacos:
name: JE (macOS)
runs-on: macos-15-intel
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (macOS)
run: |
bash script/install-mac.sh
- name: Build JE (macOS)
env:
CC: clang
USE_SLEEF: 1
USE_OPENMP: 0
USE_PYXES: 1
USE_EMU_AVX: 1
run: |
script/buildga.sh darwin x86_64 || exit 1
- name: Test JE (macOS)
env:
USE_PYXES: 1
USE_EMU_AVX: 1
run: |
script/testga.sh darwin x86_64 || exit 1
rm -rf jlibrary/bin/ios
cp jlibrary/bin/* j64 || true
rm -f j64/profile.ijs
strip -S j64/jconsole || true
strip -S j64/jamalgam || true
strip -S j64/*dylib || true
ls -l j64
zip -r m64.zip j64
- name: Release JE (macOS)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "m64.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (macOS)
uses: actions/upload-artifact@v4
with:
name: dist
path: testdarwin.txt
overwrite: true
# macOS arm64 ----------------------------------------------------------
jemacosarm:
name: JE (macOS arm64)
runs-on: macos-15
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (macOS arm64)
run: |
bash script/install-mac.sh
- name: Build JE (macOS arm64)
env:
CC: clang
USE_SLEEF: 1
USE_OPENMP: 0
USE_PYXES: 1
USE_EMU_AVX: 1
run: |
script/buildga.sh darwin arm64 || exit 1
- name: Test JE (macOS arm64)
env:
USE_PYXES: 1
USE_EMU_AVX: 1
run: |
script/testga.sh darwin arm64 || exit 1
rm -rf jlibrary/bin/ios
cp jlibrary/bin/* j64 || true
rm -f j64/profile.ijs
strip -S j64/jconsole || true
strip -S j64/jamalgam || true
strip -S j64/*dylib || true
ls -l j64
zip -r m64arm.zip j64
- name: Release JE (macOS arm64)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "m64arm.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (macOS arm64)
uses: actions/upload-artifact@v4
with:
name: dist
path: testdarwinarm.txt
overwrite: true
# rpi64arm -------------------------------------------------------------
jerpi64arm:
name: JE (Linux arm64)
runs-on: ubuntu-24.04-arm
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (Linux arm64)
run: |
script/install-rpi.sh
- name: Build JE (Linux arm64)
env:
CC: clang
USE_SLEEF: 1
USE_OPENMP: 0
USE_PYXES: 1
USE_EMU_AVX: 1
run: |
script/buildga.sh raspberry arm64 || exit 1
- name: Test JE (Linux arm64)
env:
USE_PYXES: 1
USE_EMU_AVX: 1
run: |
script/testga.sh raspberry arm64
cp jlibrary/bin/* j64 || true
rm -f j64/profile.ijs
strip -S j64/jconsole || true
strip -S j64/jamalgam || true
strip -S j64/*so || true
ls -l j64
zip -r rpi64.zip j64
- name: Release JE (Linux arm64)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "rpi64.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (Linux arm64)
uses: actions/upload-artifact@v4
with:
name: dist
path: testrpi64.txt
overwrite: true
# rpi32arm -------------------------------------------------------------
jerpi32arm:
name: JE (Linux arm32)
runs-on: ubuntu-24.04-arm
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (Linux arm32)
run: |
script/install-rpi.sh
- name: Build JE (Linux arm32)
env:
CC: arm-linux-gnueabihf-gcc
USE_SLEEF: 0
USE_SLEEFQUAD: 1
USE_OPENMP: 0
USE_PYXES: 0
USE_EMU_AVX: 0
_DEBUG: 3
run: |
script/buildga.sh raspberry armv6l || exit 1
- name: Test JE (Linux arm32)
env:
USE_OPENMP: 0
USE_PYXES: 0
_DEBUG: 3
run: |
script/testga.sh raspberry armv6l
cp jlibrary/bin32/* j32 || true
rm -f j32/profile.ijs
strip -S j32/jconsole || true
strip -S j32/jamalgam || true
strip -S j32/*so || true
ls -l j32
zip -r rpi32.zip j32
- name: Release JE (Linux arm32)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "rpi32.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (Linux arm32)
uses: actions/upload-artifact@v4
with:
name: dist
path: testrpi32.txt
overwrite: true
# rpi64 ----------------------------------------------------------------
jerpi64:
name: JE (Raspberry)
if: ${{ false }}
runs-on: ubuntu-latest
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Build, Test JE (Raspberry)
uses: pguyot/arm-runner-action@v2
with:
cpu: cortex-a53
cpu_info: cpuinfo/raspberrypi_zero2_w_arm64
base_image: raspios_lite_arm64:2023-05-03
image_additional_mb: 1024
copy_artifact_path: j64
commands: |
apt-get install --no-install-recommends -y clang zip libomp-dev gdb
export CC=clang
export USE_SLEEF=1
export USE_OPENMP=0
export USE_PYXES=1
export USE_EMU_AVX=1
script/buildga.sh raspberry arm64 || exit 1
script/testga.sh raspberry arm64
cp jlibrary/bin/* j64 || true
rm -f j64/profile.ijs
strip -S j64/jconsole || true
strip -S j64/jamalgam || true
strip -S j64/*so || true
zip -r rpi64.zip j64
zip rpi64.zip /usr/bin/zip
zip rpi64.zip /usr/bin/unzip
rm -rf j64
mkdir j64
mv rpi64.zip j64/.
mv testrpi64.txt j64/.
find j64 -type d -exec chmod a+rwx {} \;
find j64 -type f -exec chmod a+rw {} \;
- name: Compress Files (Raspberry)
run: |
ls -l j64
mv j64/* .
- name: Release JE (Raspberry)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "rpi64.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (Raspberry)
uses: actions/upload-artifact@v4
with:
name: dist
path: testrpi64.txt
overwrite: true
# rpi32 ----------------------------------------------------------------
jerpi32:
name: JE (Raspberry32)
if: ${{ false }}
runs-on: ubuntu-latest
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Build, Test JE (Raspberry 32)
uses: pguyot/arm-runner-action@v2
with:
cpu: arm1176
cpu_info: cpuinfo/raspberrypi_zero2_w
base_image: raspios_lite:2023-05-03
image_additional_mb: 1024
copy_artifact_path: j32
commands: |
apt-get install --no-install-recommends -y clang zip libomp-dev gdb
export CC=gcc
export USE_SLEEF=0
export USE_SLEEFQUAD=1
export USE_OPENMP=0
export USE_PYXES=0
export USE_EMU_AVX=0
script/buildga.sh raspberry armv6l || exit 1
script/testga.sh raspberry armv6l
find j32 -type d -exec chmod a+rwx {} \;
find j32 -type f -exec chmod a+rw {} \;
cp jlibrary/bin32/* j32 || true
rm -f j32/profile.ijs
strip -S j32/jconsole || true
strip -S j32/jamalgam || true
strip -S j32/*so || true
zip -r rpi32.zip j32
rm -rf j32
mkdir j32
mv rpi32.zip j32/.
mv testrpi32.txt j32/.
find j32 -type d -exec chmod a+rwx {} \;
find j32 -type f -exec chmod a+rw {} \;
- name: Compress Files (Raspberry32)
run: |
ls -l j32
mv j32/* .
- name: Release JE (Raspberry32)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "rpi32.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (Raspberry)
uses: actions/upload-artifact@v4
with:
name: dist
path: testrpi32.txt
overwrite: true
# openbsd --------------------------------------------------------------
jeopenbsd:
name: JE (OpenBSD vmactions)
if: ${{ false }}
runs-on: macos-15-intel
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Build, Test JE (OpenBSD)
uses: vmactions/openbsd-vm@v1
with:
usesh: true
sync: sshfs
prepare: |
pkg_add -u
rdate time.cloudflare.com || true
pkg_add curl zip gmake nasm pcre2 gdb
run: |
rm -f jobdone
/sbin/ldconfig -r
ls -al ~/
ls -al ~/.ssh
echo "Host *" >>~/.ssh/config || true
echo " ServerAliveInterval 20" >>~/.ssh/config || true
echo " ServerAliveCountMax 2000000" >>~/.ssh/config || true
echo "client ssh config"
cat ~/.ssh/config || true
export CC=clang
export USE_SLEEF=1
export USE_OPENMP=0
export USE_PYXES=1
export USE_EMU_AVX=1
script/buildga.sh openbsd x86_64 || exit 1
script/testga.sh openbsd x86_64
cp jlibrary/bin/* j64 || true
rm -f j64/profile.ijs
strip -S j64/jconsole || true
strip -S j64/jamalgam || true
strip -S j64/*so || true
ls -l j64
zip -r obsd64.zip j64
touch jobdone
- name: Check Status (OpenBSD)
run: |
test -f jobdone || exit 1
- name: Release JE (OpenBSD)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "obsd64.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (OpenBSD)
uses: actions/upload-artifact@v4
with:
name: dist
path: testopenbsd.txt
overwrite: true
# openbsd --------------------------------------------------------------
jeopenbsd2:
name: JE (OpenBSD cross-platform-actions)
runs-on: ubuntu-latest
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Build, Test JE (OpenBSD)
uses: cross-platform-actions/action@v0.32.0
with:
operating_system: openbsd
architecture: x86-64
version: '7.6'
shell: bash
run: |
rm -f jobdone
sudo pkg_add -u
sudo rdate time.cloudflare.com || true
sudo pkg_add curl zip gmake nasm pcre2 gdb
/sbin/ldconfig -r
ls -al ~/
ls -al ~/.ssh
sudo echo "Host *" >>~/.ssh/config || true
sudo echo " ServerAliveInterval 20" >>~/.ssh/config || true
sudo echo " ServerAliveCountMax 2000000" >>~/.ssh/config || true
echo "client ssh config"
sudo cat ~/.ssh/config || true
export CC=clang
export USE_SLEEF=1
export USE_OPENMP=0
export USE_PYXES=1
export USE_EMU_AVX=1
script/buildga.sh openbsd x86_64 || exit 1
script/testga.sh openbsd x86_64
cp jlibrary/bin/* j64 || true
rm -f j64/profile.ijs
strip -S j64/jconsole || true
strip -S j64/jamalgam || true
strip -S j64/*so || true
ls -l j64
zip -r obsd64.zip j64
touch jobdone
- name: Check Status (OpenBSD)
run: |
test -f jobdone || exit 1
- name: Release JE (OpenBSD)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "obsd64.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (OpenBSD)
uses: actions/upload-artifact@v4
with:
name: dist
path: testopenbsd.txt
overwrite: true
# openbsd arm64 --------------------------------------------------------
# too slow, comment out script/testga.sh openbsd
jeopenbsdarm64:
name: JE (OpenBSD arm64)
runs-on: ubuntu-latest
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Build, Test JE (OpenBSD arm64)
uses: cross-platform-actions/action@v0.32.0
with:
operating_system: openbsd
architecture: arm64
version: '7.6'
shell: bash
run: |
rm -f jobdone
sudo pkg_add -u
sudo rdate time.cloudflare.com || true
sudo pkg_add curl zip gmake gmp pcre2 gdb
/sbin/ldconfig -r
ls -al ~/
ls -al ~/.ssh
sudo echo "Host *" >>~/.ssh/config || true
sudo echo " ServerAliveInterval 20" >>~/.ssh/config || true
sudo echo " ServerAliveCountMax 2000000" >>~/.ssh/config || true
echo "client ssh config"
sudo cat ~/.ssh/config || true
export CC=clang
export USE_SLEEF=1
export USE_OPENMP=0
export USE_PYXES=1
export USE_EMU_AVX=1
script/buildga.sh openbsd arm64 || exit 1
cp jlibrary/bin/* j64 || true
rm -f j64/profile.ijs
strip -S j64/jconsole || true
strip -S j64/jamalgam || true
strip -S j64/*so || true
ls -l j64
zip -r obsdarm64.zip j64
touch jobdone
- name: Check Status (OpenBSD arm64)
run: |
test -f jobdone || exit 1
- name: Release JE (OpenBSD arm64)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "obsdarm64.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (OpenBSD arm64)
uses: actions/upload-artifact@v4
with:
name: dist
path: testopenbsdarm64.txt
overwrite: true
# freebsd --------------------------------------------------------------
jefreebsd:
name: JE (FreeBSD vmactions)
if: ${{ false }}
runs-on: macos-15-intel
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Build, Test JE (FreeBSD)
uses: vmactions/freebsd-vm@v1
with:
usesh: true
sync: sshfs
prepare: |
pkg upgrade -y
rdate time.cloudflare.com || true
pkg search openblas 1>&2
pkg install -y curl zip find gmake nasm pcre2 gdb openblas
find / -type f -name 'liblapack.so*' 1>&2
find / -type f -name 'libopenblas.so*' 1>&2
/sbin/ldconfig -r
run: |
rm -f jobdone
/sbin/ldconfig -r
ls -al ~/
ls -al ~/.ssh
echo "Host *" >>~/.ssh/config || true
echo " ServerAliveInterval 20" >>~/.ssh/config || true
echo " ServerAliveCountMax 2000000" >>~/.ssh/config || true
echo "client ssh config"
cat ~/.ssh/config || true
export CC=clang
export USE_SLEEF=1
export USE_OPENMP=0
export USE_PYXES=1
export USE_EMU_AVX=1
script/buildga.sh freebsd x86_64 || exit 1
script/testga.sh freebsd x86_64
cp jlibrary/bin/* j64 || true
rm -f j64/profile.ijs
strip -S j64/jconsole || true
strip -S j64/jamalgam || true
strip -S j64/*so || true
ls -l j64
zip -r fbsd64.zip j64
touch jobdone
- name: Check Status (FreeBSD)
run: |
test -f jobdone || exit 1
- name: Release JE (FreeBSD)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "fbsd64.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (FreeBSD)
uses: actions/upload-artifact@v4
with:
name: dist
path: testfreebsd.txt
overwrite: true
# freebsd --------------------------------------------------------------
jefreebsd2:
name: JE (FreeBSD cross-platform-actions)
runs-on: ubuntu-latest
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Build, Test JE (FreeBSD)
uses: cross-platform-actions/action@v0.32.0
with:
operating_system: freebsd
architecture: x86-64
version: '15.0'
shell: bash
run: |
rm -f jobdone
export IGNORE_OSVERSION=yes
sudo pkg upgrade -y
sudo rdate time.cloudflare.com || true
sudo pkg search openblas 1>&2
sudo pkg install -y curl zip gmake nasm pcre2 gdb openblas
sudo find / -type f -name 'liblapack.so*' 1>&2
sudo find / -type f -name 'libopenblas.so*' 1>&2
/sbin/ldconfig -r
ls -al ~/
ls -al ~/.ssh
sudo echo "Host *" >>~/.ssh/config || true
sudo echo " ServerAliveInterval 20" >>~/.ssh/config || true
sudo echo " ServerAliveCountMax 2000000" >>~/.ssh/config || true
echo "client ssh config"
sudo cat ~/.ssh/config || true
export CC=clang
export USE_SLEEF=1
export USE_OPENMP=0
export USE_PYXES=1
export USE_EMU_AVX=1
script/buildga.sh freebsd x86_64 || exit 1
script/testga.sh freebsd x86_64
cp jlibrary/bin/* j64 || true
rm -f j64/profile.ijs
strip -S j64/jconsole || true
strip -S j64/jamalgam || true
strip -S j64/*so || true
ls -l j64
zip -r fbsd64.zip j64
touch jobdone
ls -l .
- name: Check Status (FreeBSD)
run: |
test -f jobdone || exit 1
- name: Release JE (FreeBSD)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "fbsd64.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (FreeBSD)
uses: actions/upload-artifact@v4
with:
name: dist
path: testfreebsd.txt
overwrite: true
# freebsdarm64 --------------------------------------------------------------
jefreebsdarm64:
name: JE (FreeBSD arm64)
# runs-on: ubuntu-24.04-arm
runs-on: ubuntu-latest
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Build, Test JE (FreeBSD arm64)
uses: cross-platform-actions/action@v0.32.0
with:
operating_system: freebsd
architecture: arm64
version: '15.0'
shell: bash
run: |
rm -f jobdone
export IGNORE_OSVERSION=yes
sudo pkg upgrade -y
sudo rdate time.cloudflare.com || true
sudo pkg search openblas 1>&2
sudo pkg install -y curl zip gmake nasm pcre2 gdb openblas
sudo find / -type f -name 'liblapack.so*' 1>&2
sudo find / -type f -name 'libopenblas.so*' 1>&2
/sbin/ldconfig -r
ls -al ~/
ls -al ~/.ssh
sudo echo "Host *" >>~/.ssh/config || true
sudo echo " ServerAliveInterval 20" >>~/.ssh/config || true
sudo echo " ServerAliveCountMax 2000000" >>~/.ssh/config || true
echo "client ssh config"
sudo cat ~/.ssh/config || true
export CC=clang
export USE_SLEEF=1
export USE_OPENMP=0
export USE_PYXES=1
export USE_EMU_AVX=1
script/buildga.sh freebsd arm64 || exit 1
script/testga.sh freebsd arm64
cp jlibrary/bin/* j64 || true
rm -f j64/profile.ijs
strip -S j64/jconsole || true
strip -S j64/jamalgam || true
strip -S j64/*so || true
ls -l j64
zip -r fbsdarm64.zip j64
touch jobdone
- name: Check Status (FreeBSD arm64)
run: |
test -f jobdone || exit 1
- name: Release JE (FreeBSD arm64)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "fbsdarm64.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (FreeBSD arm64)
uses: actions/upload-artifact@v4
with:
name: dist
path: testfreebsdarm64.txt
overwrite: true
# android --------------------------------------------------------------
jeandroid:
name: JE (android)
runs-on: macos-15-intel
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (android)
uses: nttld/setup-ndk@v1
with:
ndk-version: r28b
local-cache: false
- name: Build JE (android)
env:
CC: clang
USE_SLEEF: 1
USE_OPENMP: 0
USE_PYXES: 1
USE_EMU_AVX: 1
run: |
script/buildga.sh android arm64 || exit 1
- name: Release JE (android)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "androidlibs.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
# - name: Copy Test (android)
# wasm -----------------------------------------------------------------
jewasm:
name: JE (wasm)
runs-on: ubuntu-latest
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (wasm)
uses: mymindstorm/setup-emsdk@v14
- name: Build, Test JE (wasm)
env:
CC: emcc
AR: emar
USE_WASM: 1
USE_SLEEF: 1
USE_OPENMP: 0
USE_PYXES: 0
USE_EMU_AVX: 0
run: |
script/buildga.sh wasm wasm32 || exit 1
script/testga.sh wasm wasm32 || exit 1
ls -l j32
zip -r wasm32.zip j32
- name: Release JE (wasm)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "wasm32.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
# - name: Copy Test (wasm)
# windows --------------------------------------------------------------
jewin:
name: JE (Windows)
runs-on: windows-2022
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (Windows)
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64
- name: Build JE (Windows)
shell: cmd
env:
NASM: ${{github.workspace}}\openssl-asm\nasm
USE_PYXES: 1
USE_EMU_AVX: 1
run: |
script\buildga.cmd x64
- name: Test JE (Windows)
shell: cmd
env:
USE_PYXES: 1
USE_EMU_AVX: 1
run: |
script\testga.cmd x64
- name: Compress Files (Windows)
shell: pwsh
run: |
copy jlibrary/bin/* j64
del j64/profile.ijs
del j64/libopenblas*.dll
Compress-Archive j64 w64.zip
- name: Release JE (Windows)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "w64.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (Windows)
uses: actions/upload-artifact@v4
with:
name: dist
path: testwin.txt
overwrite: true
# windows 32bit --------------------------------------------------------
jewin32:
name: JE (Windows 32)
runs-on: windows-2022
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (Windows 32)
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x86
- name: Build JE (Windows 32)
shell: cmd
env:
NASM: ${{github.workspace}}\openssl-asm\nasm
USE_PYXES: 0
USE_EMU_AVX: 0
run: |
script\buildga.cmd x86
- name: Test JE (Windows 32)
shell: cmd
env:
USE_PYXES: 0
USE_EMU_AVX: 0
run: |
script\testga.cmd x86
- name: Compress Files (Windows 32)
shell: pwsh
run: |
copy jlibrary/bin32/* j32
del j32/profile.ijs
del j32/libopenblas*.dll
Compress-Archive j32 w32.zip
- name: Release JE (Windows 32)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "w32.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (Windows 32)
uses: actions/upload-artifact@v4
with:
name: dist
path: testwin32.txt
overwrite: true
# windows arm64 old ----------------------------------------------------
jewinarm64old:
name: JE (Windows arm64 old)
if: ${{ false }}
runs-on: windows-2022
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (Windows arm64)
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64_arm64
- name: Build JE (Windows arm64)
shell: cmd
env:
USE_PYXES: 1
USE_EMU_AVX: 1
run: |
script\buildga.cmd arm64
- name: Test JE (Windows arm64)
if: ${{ false }}
shell: cmd
env:
USE_PYXES: 1
USE_EMU_AVX: 1
run: |
script\testga.cmd arm64
- name: Compress Files (Windows arm64)
shell: pwsh
run: |
copy jlibrary/bin/* j64
del j64/profile.ijs
del j64/libopenblas*.dll
Compress-Archive j64 warm64.zip
- name: Release JE (Windows arm64)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "warm64.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (Windows arm64)
uses: actions/upload-artifact@v4
with:
name: dist
path: testwinarm64.txt
overwrite: true
# windows arm64 --------------------------------------------------------
jewinarm64:
name: JE (Windows arm64)
runs-on: windows-11-arm
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (Windows arm64)
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64_arm64
- name: Build JE (Windows arm64)
shell: cmd
env:
USE_PYXES: 1
USE_EMU_AVX: 1
run: |
script\buildga.cmd arm64
- name: Test JE (Windows arm64)
shell: cmd
env:
USE_PYXES: 1
USE_EMU_AVX: 1
run: |
script\testga.cmd arm64
- name: Compress Files (Windows arm64)
shell: pwsh
run: |
copy jlibrary/bin/* j64
del j64/profile.ijs
del j64/libopenblas*.dll
Compress-Archive j64 warm64.zip
- name: Release JE (Windows arm64)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "warm64.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
- name: Copy Test (Windows arm64)
uses: actions/upload-artifact@v4
with:
name: dist
path: testwinarm64.txt
overwrite: true
# Name Prefix Toolchain Architecture C Library C++ Library
# MSYS /usr gcc x86_64 cygwin libstdc++
# UCRT64 /ucrt64 gcc x86_64 ucrt libstdc++
# CLANG64 /clang64 llvm x86_64 ucrt libc++
# CLANGARM64 /clangarm64 llvm aarch64 ucrt libc++
# MINGW64 /mingw64 gcc x86_64 msvcrt libstdc++
# { sys: mingw64, env: x86_64 }
# { sys: mingw32, env: i686 }
# { sys: ucrt64, env: ucrt-x86_64 }
# { sys: clang64, env: clang-x86_64 }
# { sys: clang64arm, env: clang-aarch64 }
# windows msys2 x64 ----------------------------------------------------
jewin-msys2-x64:
name: JE (Windows MSYS2 x64)
runs-on: windows-2022
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (Windows MSYS2 x64)
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
# Install necessary packages (e.g., your build tools, gcc, make)
install: >-
mingw-w64-x86_64-gcc
mingw-w64-x86_64-gdb
make
- name: Build JE (Windows MSYS2 x64)
# Run your build commands within the MSYS2 shell
shell: msys2 {0}
env:
CC: x86_64-w64-mingw32-gcc
CXX: x86_64-w64-mingw32-g++
WINDRES: windres
USE_SLEEF: 1
USE_OPENMP: 0
USE_PYXES: 0
USE_EMU_AVX: 1
_DEBUG: 0
run: |
script/buildga.sh windows x86_64 || exit 1
- name: Test JE (Windows MSYS2 x64)
shell: msys2 {0}
env:
USE_PYXES: 0
USE_EMU_AVX: 1
_DEBUG: 0
run: |
script/testga.sh windows x86_64 || exit 1
- name: Compress Files (Windows MSYS2 x64)
shell: pwsh
run: |
copy jlibrary/bin/* j64
del j64/profile.ijs
del j64/libopenblas*.dll
Compress-Archive j64 w64mw.zip
- name: Release JE (Windows MSYS2 x64)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "w64mw.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
# windows msys2 x86 ----------------------------------------------------
jewin-msys2-x86:
name: JE (Windows MSYS2 x86)
runs-on: windows-2022
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (Windows MSYS2 x86)
uses: msys2/setup-msys2@v2
with:
msystem: MINGW32
update: true
# Install necessary packages (e.g., your build tools, gcc, make)
install: >-
mingw-w64-i686-gcc
mingw-w64-i686-gdb
make
- name: Build JE (Windows MSYS2 x86)
# Run your build commands within the MSYS2 shell
shell: msys2 {0}
env:
CC: i686-w64-mingw32-gcc
CXX: i686-w64-mingw32-g++
WINDRES: windres
USE_SLEEF: 1
USE_OPENMP: 0
USE_PYXES: 0
USE_EMU_AVX: 0
_DEBUG: 0
run: |
script/buildga.sh windows i386 || exit 1
- name: Test JE (Windows MSYS2 x86)
shell: msys2 {0}
env:
USE_PYXES: 0
USE_EMU_AVX: 0
_DEBUG: 0
run: |
script/testga.sh windows i386 || exit 1
- name: Compress Files (Windows MSYS2 x86)
shell: pwsh
run: |
copy jlibrary/bin32/* j32
del j32/profile.ijs
del j32/libopenblas*.dll
Compress-Archive j32 w32mw.zip
- name: Release JE (Windows MSYS2 x86)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "w32mw.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
# windows msys2 arm64 --------------------------------------------------
jewin-msys2-arm64:
name: JE (Windows MSYS2 arm64)
if: ${{ false }}
runs-on: windows-11-arm
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Setup Environment (Windows MSYS2 arm64)
uses: msys2/setup-msys2@v2
with:
msystem: CLANGARM64
update: true
# Install necessary packages (e.g., your build tools, gcc, make)
install: >-
mingw-w64-clang-aarch64-clang
mingw-w64-clang-aarch64-lldb
make
- name: Build JE (Windows MSYS2 arm64)
# Run your build commands within the MSYS2 shell
shell: msys2 {0}
env:
CC: aarch64-w64-mingw32-clang
CXX: aarch64-w64-mingw32-clang++
WINDRES: windres
USE_SLEEF: 1
USE_OPENMP: 0
USE_PYXES: 1
USE_EMU_AVX: 1
_DEBUG: 0
run: |
script/buildga.sh windows arm64 || exit 1
- name: Test JE (Windows MSYS2 arm64)
shell: msys2 {0}
env:
USE_PYXES: 1
USE_EMU_AVX: 1
_DEBUG: 0
run: |
script/testga.sh windows arm64 || exit 1
- name: Compress Files (Windows MSYS2 arm64)
shell: pwsh
run: |
copy jlibrary/bin/* j64
del j64/profile.ijs
del j64/libopenblas*.dll
Compress-Archive j64 warm64mw.zip
- name: Release JE (Windows MSYS2 arm64)
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "warm64mw.zip"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
# get tests ------------------------------------------------------------
tests:
name: Test Results
runs-on: ubuntu-22.04
# the needs definition below is also given later in webhook
# this allows tests to be run that can be ignored for the webhook
# AFAIK there is no cleaner way to do this
needs:
- jelinux
- jelinux-gcc
- jelinux32
- jelinuxd
- jemacos
- jemacosarm
- jerpi64arm
- jerpi32arm
- jewin
- jewin32
- jewinarm64
- jeandroid
- jefreebsd2
- jefreebsdarm64
- jeopenbsd2
- jeopenbsdarm64
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
- name: Get Test Results
uses: actions/download-artifact@v4
with:
name: dist
- name: Merge Test Results
run: script/testgares.sh
- name: Copy Tests to Build
uses: ncipollo/release-action@v1
with:
tag: build
artifacts: "tests.txt"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: true
webhook:
name: Run Webhook
runs-on: ubuntu-22.04
# this needs is also in tests above
# comment out any needs not used by the webhook
needs:
- jelinux
# - jelinux-gcc
- jelinux32
- jelinuxd
- jemacos
- jemacosarm
- jerpi64arm
- jerpi32arm
- jewin
- jewin32
- jewinarm64
- jeandroid
- jefreebsd2
- jefreebsdarm64
- jeopenbsd2
- jeopenbsdarm64
steps:
- name: update server
uses: distributhor/workflow-webhook@v2
env:
webhook_url: ${{ secrets.WEBHOOK_URL }}
webhook_secret: ${{ secrets.WEBHOOK_SECRET }}
data: '{ "id": "jebuild" }'