Skip to content

Commit 0f41fb9

Browse files
committed
.gihtub/workflow/config.yml: check eusg with non-x environment
1 parent 0033f2e commit 0f41fb9

File tree

1 file changed

+153
-106
lines changed

1 file changed

+153
-106
lines changed

.github/workflows/config.yml

Lines changed: 153 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -8,121 +8,168 @@ env:
88
DISPLAY: '0:0'
99

1010
jobs:
11-
linux:
12-
strategy:
13-
matrix:
14-
include:
15-
- DOCKER_IMAGE: ubuntu:trusty
16-
- DOCKER_IMAGE: ubuntu:xenial
17-
- DOCKER_IMAGE: ubuntu:bionic
18-
- DOCKER_IMAGE: ubuntu:focal
19-
- DOCKER_IMAGE: debian:stretch
20-
- DOCKER_IMAGE: ubuntu:trusty
21-
ROS_DISTRO: indigo
22-
- DOCKER_IMAGE: ubuntu:xenial
23-
ROS_DISTRO: kinetic
24-
- DOCKER_IMAGE: ubuntu:bionic
25-
ROS_DISTRO: meodic
26-
- DOCKER_IMAGE: ubuntu:focal
27-
ROS_DISTRO: noetic
28-
- DOCKER_IMAGE: osrf/ubuntu_armhf:trusty
29-
- DOCKER_IMAGE: osrf/ubuntu_armhf:xenial
30-
- DOCKER_IMAGE: osrf/ubuntu_arm64:trusty
31-
- DOCKER_IMAGE: osrf/ubuntu_arm64:xenial
32-
- QEMU: aarch64
33-
DOCKER_IMAGE: arm64v8/ubuntu:bionic
34-
- QEMU: aarch64
35-
DOCKER_IMAGE: arm64v8/ubuntu:focal
36-
- DOCKER_IMAGE: osrf/debian_arm64:stretch
37-
- DOCKER_IMAGE: amd64/debian:unstable
38-
#
39-
- QEMU: amd64
40-
DOCKER_IMAGE: amd64/debian:unstable # amd64
41-
- QEMU: aarch64
42-
DOCKER_IMAGE: arm64v8/debian:buster # arm64
43-
- QEMU: arm
44-
DOCKER_IMAGE: arm32v5/debian:jessie # armel
45-
- QEMU: arm
46-
DOCKER_IMAGE: arm32v7/debian:jessie # armhf
47-
# hppa
48-
# hurd-i386
49-
- QEMU: i386
50-
DOCKER_IMAGE: i386/debian:unstable # i386
51-
- QEMU: i386
52-
DOCKER_IMAGE: i386/debian:buster # i386
53-
# ia64
54-
# m68k
55-
- QEMU: mips64el
56-
DOCKER_IMAGE: loongnix/debian:buster # mips64el
57-
# mipsel
58-
# - QEMU: ppc
59-
# DOCKER_IMAGE: vicamo/debian:unstable-powerpc # powerpc / somehow failing loading eusgl
60-
- QEMU: ppc64le
61-
DOCKER_IMAGE: ppc64le/debian:buster # ppc64
62-
# riscv64
63-
# sh4
64-
# sparc64
65-
fail-fast: false
11+
# linux:
12+
# strategy:
13+
# matrix:
14+
# include:
15+
# - DOCKER_IMAGE: ubuntu:trusty
16+
# - DOCKER_IMAGE: ubuntu:xenial
17+
# - DOCKER_IMAGE: ubuntu:bionic
18+
# - DOCKER_IMAGE: ubuntu:focal
19+
# - DOCKER_IMAGE: debian:stretch
20+
# - DOCKER_IMAGE: ubuntu:trusty
21+
# ROS_DISTRO: indigo
22+
# - DOCKER_IMAGE: ubuntu:xenial
23+
# ROS_DISTRO: kinetic
24+
# - DOCKER_IMAGE: ubuntu:bionic
25+
# ROS_DISTRO: meodic
26+
# - DOCKER_IMAGE: ubuntu:focal
27+
# ROS_DISTRO: noetic
28+
# - DOCKER_IMAGE: osrf/ubuntu_armhf:trusty
29+
# - DOCKER_IMAGE: osrf/ubuntu_armhf:xenial
30+
# - DOCKER_IMAGE: osrf/ubuntu_arm64:trusty
31+
# - DOCKER_IMAGE: osrf/ubuntu_arm64:xenial
32+
# - QEMU: aarch64
33+
# DOCKER_IMAGE: arm64v8/ubuntu:bionic
34+
# - QEMU: aarch64
35+
# DOCKER_IMAGE: arm64v8/ubuntu:focal
36+
# - DOCKER_IMAGE: osrf/debian_arm64:stretch
37+
# - DOCKER_IMAGE: amd64/debian:unstable
38+
# #
39+
# - QEMU: amd64
40+
# DOCKER_IMAGE: amd64/debian:unstable # amd64
41+
# - QEMU: aarch64
42+
# DOCKER_IMAGE: arm64v8/debian:buster # arm64
43+
# - QEMU: arm
44+
# DOCKER_IMAGE: arm32v5/debian:jessie # armel
45+
# - QEMU: arm
46+
# DOCKER_IMAGE: arm32v7/debian:jessie # armhf
47+
# # hppa
48+
# # hurd-i386
49+
# - QEMU: i386
50+
# DOCKER_IMAGE: i386/debian:unstable # i386
51+
# - QEMU: i386
52+
# DOCKER_IMAGE: i386/debian:buster # i386
53+
# # ia64
54+
# # m68k
55+
# - QEMU: mips64el
56+
# DOCKER_IMAGE: loongnix/debian:buster # mips64el
57+
# # mipsel
58+
# # - QEMU: ppc
59+
# # DOCKER_IMAGE: vicamo/debian:unstable-powerpc # powerpc / somehow failing loading eusgl
60+
# - QEMU: ppc64le
61+
# DOCKER_IMAGE: ppc64le/debian:buster # ppc64
62+
# # riscv64
63+
# # sh4
64+
# # sparc64
65+
# fail-fast: false
6666

67-
runs-on: ubuntu-18.04
68-
timeout-minutes: 60
69-
70-
name: linux
67+
# runs-on: ubuntu-18.04
68+
# timeout-minutes: 60
7169

72-
steps:
73-
- name: Checkout
74-
uses: actions/checkout@v2
75-
- name: Run test
76-
shell: bash
77-
run: |
78-
set -x
79-
export CI_SOURCE_PATH=$(pwd)
80-
export REPOSITORY_NAME=${PWD##*/}
81-
export TRAVIS_BRANCH=${GITHUB_REF#refs/heads/}
82-
export TRAVIS_OS_NAME=linux
83-
export DOCKER_IMAGE=${{matrix.DOCKER_IMAGE}}
84-
export ROS_DISTRO=${{matrix.ROS_DISTRO}}
85-
export QEMU=${{matrix.QEMU}}
86-
export MAKEFLAGS="-j4"
87-
if [[ "$QEMU" != "" || "$DOCKER_IMAGE" == *"arm"* ]]; then sudo apt-get update -y -qq; fi
88-
if [[ "$QEMU" != "" ]]; then sudo apt-get install -y -qq qemu-user-static; ls /usr/bin/qemu-*-static; export QEMU_VOLUME="-v /usr/bin/qemu-$QEMU-static:/usr/bin/qemu-$QEMU-static" ; fi
89-
if [[ "$QEMU" != "" ]]; then docker run --rm --privileged multiarch/qemu-user-static:register; fi
90-
if [[ "$DOCKER_IMAGE" == *"arm"* ]]; then sudo apt-get install -y -qq qemu-user-static; fi
91-
if [[ "$DOCKER_IMAGE" == *"arm"* ]]; then git clone http://github.com/euslisp/jskeus ${HOME}/jskeus; fi
92-
echo "Testing branch $TRAVIS_BRANCH of $REPOSITORY_NAME on $QEMU_VOLUME"
93-
docker run --rm $QEMU_VOLUME -v $HOME:$HOME -e "QEMU=$QEMU" -e "TRAVIS_OS_NAME=$TRAVIS_OS_NAME" -e "CI_SOURCE_PATH=$CI_SOURCE_PATH" -e "HOME=$HOME" -e "MAKEFLAGS=$MAKEFLAGS" -e "DOCKER_IMAGE=$DOCKER_IMAGE" -t $DOCKER_IMAGE sh -c "cd $CI_SOURCE_PATH; ./.travis.sh"
70+
# name: linux
9471

72+
# steps:
73+
# - name: Checkout
74+
# uses: actions/checkout@v2
75+
# - name: Run test
76+
# shell: bash
77+
# run: |
78+
# set -x
79+
# export CI_SOURCE_PATH=$(pwd)
80+
# export REPOSITORY_NAME=${PWD##*/}
81+
# export TRAVIS_BRANCH=${GITHUB_REF#refs/heads/}
82+
# export TRAVIS_OS_NAME=linux
83+
# export DOCKER_IMAGE=${{matrix.DOCKER_IMAGE}}
84+
# export ROS_DISTRO=${{matrix.ROS_DISTRO}}
85+
# export QEMU=${{matrix.QEMU}}
86+
# export MAKEFLAGS="-j4"
87+
# if [[ "$QEMU" != "" || "$DOCKER_IMAGE" == *"arm"* ]]; then sudo apt-get update -y -qq; fi
88+
# if [[ "$QEMU" != "" ]]; then sudo apt-get install -y -qq qemu-user-static; ls /usr/bin/qemu-*-static; export QEMU_VOLUME="-v /usr/bin/qemu-$QEMU-static:/usr/bin/qemu-$QEMU-static" ; fi
89+
# if [[ "$QEMU" != "" ]]; then docker run --rm --privileged multiarch/qemu-user-static:register; fi
90+
# if [[ "$DOCKER_IMAGE" == *"arm"* ]]; then sudo apt-get install -y -qq qemu-user-static; fi
91+
# if [[ "$DOCKER_IMAGE" == *"arm"* ]]; then git clone http://github.com/euslisp/jskeus ${HOME}/jskeus; fi
92+
# echo "Testing branch $TRAVIS_BRANCH of $REPOSITORY_NAME on $QEMU_VOLUME"
93+
# docker run --rm $QEMU_VOLUME -v $HOME:$HOME -e "QEMU=$QEMU" -e "TRAVIS_OS_NAME=$TRAVIS_OS_NAME" -e "CI_SOURCE_PATH=$CI_SOURCE_PATH" -e "HOME=$HOME" -e "MAKEFLAGS=$MAKEFLAGS" -e "DOCKER_IMAGE=$DOCKER_IMAGE" -t $DOCKER_IMAGE sh -c "cd $CI_SOURCE_PATH; ./.travis.sh"
9594

96-
osx:
97-
runs-on: macos-latest
95+
# test for non X11/GL environment, i.e. embedded environment
96+
linux-nox:
97+
runs-on: ubuntu-latest
98+
container: ubuntu:20.04
9899
timeout-minutes: 60
99100
steps:
100101
- name: Checkout
101102
uses: actions/checkout@v2
102-
- name: Get brew cache directory
103-
id: brew-cache
104-
run: echo "::set-output name=dir::$(brew --cache)/downloads"
105-
- name: Brew cache
106-
uses: actions/cache@v2
107-
with:
108-
path: ${{ steps.brew-cache.outputs.dir }}
109-
key: ${{ runner.os }}-${{ hashFiles('.github/workflows/Brewfile') }}
110-
- name: Brew config
103+
- name: Setup environmnet
104+
shell: bash
105+
run: |
106+
set -xe
107+
apt update -y -qq && apt install -y -qq make gcc g++ libjpeg-dev
108+
dpkg --get-selections | egrep -e '(x11|gl)' || echo "OK" ## show selected X/GL
109+
dpkg --get-selections | egrep -q -e '(x11|gl)' && exit 1 ## exit 1, when X/GL found
110+
exit 0
111+
- name: Compile eusg
112+
shell: bash
111113
run: |
112-
cd .github/workflows/
113-
brew config
114+
set -xe
115+
export EUSDIR=$(pwd)
116+
export ARCHDIR=Linux64
117+
cd lisp
118+
ln -sf Makefile.$ARCHDIR Makefile
119+
make eus0 eus1 eus2 eusg
114120
- name: Run test
115121
shell: bash
116122
run: |
117-
set -x
118-
export CI_SOURCE_PATH=$(pwd)
119-
export REPOSITORY_NAME=${PWD##*/}
120-
export TRAVIS_BRANCH=${GITHUB_REF#refs/heads/}
121-
export TRAVIS_OS_NAME=osx
122-
export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
123-
export LC_CTYPE=C
124-
(cd ${HOME}; git clone --depth 1 http://github.com/euslisp/jskeus jskeus)
125-
(cd ${HOME}/jskeus; patch -f -p1 < ${CI_SOURCE_PATH}/.github/workflows/fix-dylib-location.patch || echo "OK")
126-
bash -x ./.travis.sh
127-
- name: Cleanup some brew downloads
128-
run: cd ${{ steps.brew-cache.outputs.dir }} && ls -lsS | head -n 10 | awk '{ print $10 }' | xargs rm -rf
123+
export EUSDIR=$(pwd)
124+
export ARCHDIR=Linux64
125+
export PATH=$EUSDIR/$ARCHDIR/bin:$EUSDIR/$ARCHDIR/lib:$PATH
126+
export LD_LIBRARY_PATH=$EUSDIR/$ARCHDIR/lib:$EUSDIR/$ARCHDIR/bin:$LD_LIBRARY_PATH
127+
set -xe
128+
(cd test; make)
129+
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
130+
- name: Check jskeus
131+
shell: bash
132+
run: |
133+
export EUSDIR=$(pwd)
134+
export ARCHDIR=Linux64
135+
export PATH=$EUSDIR/$ARCHDIR/bin:$EUSDIR/$ARCHDIR/lib:$PATH
136+
export LD_LIBRARY_PATH=$EUSDIR/$ARCHDIR/lib:$EUSDIR/$ARCHDIR/bin:$LD_LIBRARY_PATH
137+
set -xe
138+
apt install -y -qq git
139+
git clone --depth 1 https://github.com/euslisp/jskeus
140+
eusg lib/llib/unittest.l '(progn (init-unit-test)(load "jskeus/irteus/irtrobot.l"))'
141+
eusg lib/llib/unittest.l '(progn (init-unit-test)(load "jskeus/irteus/irtsensor.l"))'
142+
143+
# osx:
144+
# runs-on: macos-latest
145+
# timeout-minutes: 60
146+
# steps:
147+
# - name: Checkout
148+
# uses: actions/checkout@v2
149+
# - name: Get brew cache directory
150+
# id: brew-cache
151+
# run: echo "::set-output name=dir::$(brew --cache)/downloads"
152+
# - name: Brew cache
153+
# uses: actions/cache@v2
154+
# with:
155+
# path: ${{ steps.brew-cache.outputs.dir }}
156+
# key: ${{ runner.os }}-${{ hashFiles('.github/workflows/Brewfile') }}
157+
# - name: Brew config
158+
# run: |
159+
# cd .github/workflows/
160+
# brew config
161+
# - name: Run test
162+
# shell: bash
163+
# run: |
164+
# set -x
165+
# export CI_SOURCE_PATH=$(pwd)
166+
# export REPOSITORY_NAME=${PWD##*/}
167+
# export TRAVIS_BRANCH=${GITHUB_REF#refs/heads/}
168+
# export TRAVIS_OS_NAME=osx
169+
# export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
170+
# export LC_CTYPE=C
171+
# (cd ${HOME}; git clone --depth 1 http://github.com/euslisp/jskeus jskeus)
172+
# (cd ${HOME}/jskeus; patch -f -p1 < ${CI_SOURCE_PATH}/.github/workflows/fix-dylib-location.patch || echo "OK")
173+
# bash -x ./.travis.sh
174+
# - name: Cleanup some brew downloads
175+
# run: cd ${{ steps.brew-cache.outputs.dir }} && ls -lsS | head -n 10 | awk '{ print $10 }' | xargs rm -rf

0 commit comments

Comments
 (0)