Skip to content

Commit 3438488

Browse files
committed
.github/workflow/config.yml: add test for cross compile linux-nox-cross
1 parent f8c6043 commit 3438488

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

.github/workflows/config.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,71 @@ jobs:
141141
eusg lib/llib/unittest.l '(progn (init-unit-test)(load "jskeus/irteus/irtrobot.l"))'
142142
eusg lib/llib/unittest.l '(progn (init-unit-test)(load "jskeus/irteus/irtsensor.l"))'
143143
144+
# test for non X11/GL environment, i.e. embedded environment
145+
linux-nox-crosscompile:
146+
runs-on: ubuntu-latest
147+
timeout-minutes: 60
148+
steps:
149+
- name: Checkout
150+
uses: actions/checkout@v2
151+
- name: Setup environmnet
152+
shell: bash
153+
run: |
154+
set -xe
155+
sudo apt update -y -qq
156+
# remove unused packages
157+
sudo dpkg -r --force-depends nginx || echo "OK"
158+
sudo apt purge -y -qq build-essential gcc-9 gcc-10 || echo "OK"
159+
sudo apt purge -y -qq libx11* x11* libgl1* libglx* || echo "OK"
160+
sudo apt autoremove -y -qq || echo "OK"
161+
# install deb environment
162+
sudo apt install -y -qq make binutils-aarch64-linux-gnu gcc-aarch64-linux-gnu g++-aarch64-linux-gnu qemu-user-static
163+
exit 0
164+
- name: Check environmnet
165+
shell: bash
166+
run: |
167+
set -xe
168+
dpkg --get-selections | egrep -e '(cc|ld)' || echo "OK" ## show selected X/GL
169+
dpkg --get-selections | egrep -e '(x11|gl)' || echo "OK" ## show selected X/GL
170+
#dpkg --get-selections | egrep -q -e '(x11|gl)' && exit 1 ## exit 1, when X/GL found
171+
exit 0
172+
- name: Compile eusg
173+
shell: bash
174+
run: |
175+
set -xe
176+
export EUSDIR=$(pwd)
177+
export CC=aarch64-linux-gnu-gcc
178+
export LD=aarch64-linux-gnu-ld
179+
export CXX=aarch64-linux-gnu-g++
180+
export QEMU_LD_PREFIX=/usr/aarch64-linux-gnu/
181+
cd lisp
182+
ln -sf Makefile.Linux Makefile
183+
CC=$CC LD=$LD make eus0 eus1 eus2 eusg
184+
(cd $EUSDIR/test; CXX=$CXX make)
185+
- name: Run test
186+
shell: bash
187+
run: |
188+
export EUSDIR=$(pwd)
189+
export ARCHDIR=LinuxARM
190+
export PATH=$EUSDIR/$ARCHDIR/bin:$EUSDIR/$ARCHDIR/lib:$PATH
191+
export LD_LIBRARY_PATH=$EUSDIR/$ARCHDIR/lib:$EUSDIR/$ARCHDIR/bin:$LD_LIBRARY_PATH
192+
export QEMU_LD_PREFIX=/usr/aarch64-linux-gnu/
193+
set -xe
194+
export EXIT_STATUS=0; for test_l in test/*.l; do eusg $test_l; export TMP_EXIT_STATUS=$?; export EXIT_STATUS=`expr $TMP_EXIT_STATUS + $EXIT_STATUS`; done; [ $EXIT_STATUS == 0 ] || exit 1
195+
- name: Check jskeus
196+
shell: bash
197+
run: |
198+
export EUSDIR=$(pwd)
199+
export ARCHDIR=LinuxARM
200+
export PATH=$EUSDIR/$ARCHDIR/bin:$EUSDIR/$ARCHDIR/lib:$PATH
201+
export LD_LIBRARY_PATH=$EUSDIR/$ARCHDIR/lib:$EUSDIR/$ARCHDIR/bin:$LD_LIBRARY_PATH
202+
export QEMU_LD_PREFIX=/usr/aarch64-linux-gnu/
203+
set -xe
204+
sudo apt install -y -qq git
205+
git clone --depth 1 https://github.com/euslisp/jskeus
206+
eusg lib/llib/unittest.l '(progn (init-unit-test)(load "jskeus/irteus/irtrobot.l"))'
207+
eusg lib/llib/unittest.l '(progn (init-unit-test)(load "jskeus/irteus/irtsensor.l"))'
208+
144209
osx:
145210
runs-on: macos-latest
146211
timeout-minutes: 60

0 commit comments

Comments
 (0)