Updated documentation, fixed exception handling #15
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Ubuntu with Java interoperability | |
on: | |
pull_request: | |
branches: [ java-interop ] | |
push: | |
# manual run in actions tab - for all branches | |
workflow_dispatch: | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
- ubuntu-20.04 | |
runs-on: ${{ matrix.os }} | |
steps: | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install packages | |
run: | | |
sudo apt-get update | |
sudo apt-get install automake libtool bison flex help2man gettext texlive | |
- name: Set git user | |
run: | | |
git config --global user.name github-actions | |
git config --global user.email [email protected] | |
- name: Installing Java prerequisite | |
run: | | |
true # nothing to do | |
- name: bootstrap | |
run: | | |
./build_aux/bootstrap | |
# FIXME: With TERM="dumb" `make check` fails with: | |
# ... | |
# 571: ACCEPT OMITTED (SCREEN) FAILED (run_accept.at:307) | |
# ... | |
# 693: ON EXCEPTION clause of DISPLAY FAILED (run_misc.at:6335) | |
# 695: LINE/COLUMN 0 exceptions FAILED (run_misc.at:6414) | |
# 694: EC-SCREEN-LINE-NUMBER and -STARTING-COLUMN FAILED (run_misc.at:6376) | |
# ... | |
# Failure cases read: "Error opening terminal: unknown." on | |
# stderr, and exit with code 1. | |
# | |
# Another alternative is passing `--with-curses=no` to the | |
# configure script, yet distcheck does call configure too... | |
# | |
- name: Build environment setup | |
run: | | |
mkdir _build | |
export TERM="vt100" | |
echo "TERM=$TERM" >> $GITHUB_ENV | |
echo "INSTALL_PATH=$(pwd)/_install" >> $GITHUB_ENV | |
- name: configure | |
run: | | |
cd _build | |
../configure --enable-cobc-internal-checks \ | |
--enable-hardening \ | |
--prefix ${INSTALL_PATH} \ | |
--disable-nls \ | |
--without-indexed \ | |
--without-json \ | |
--without-xml2 \ | |
--without-curses \ | |
--with-java | |
echo "VERSION=PACKAGE_VERSION" | cpp -P -imacros config.h | tr -d \" >> $GITHUB_ENV | |
- name: Upload config.log | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: config-${{ matrix.os }}.log | |
path: _build/config.log | |
- name: make | |
run: | | |
make -C _build --jobs=$(($(nproc)+1)) | |
- name: distcheck | |
run: | | |
make -C _build distcheck \ | |
TESTSUITEFLAGS="--jobs=$(($(nproc)+1))" \ | |
DISTCHECK_CONFIGURE_FLAGS="--disable-nls \ | |
--without-indexed \ | |
--without-json \ | |
--without-xml2 \ | |
--without-curses \ | |
--with-java" || \ | |
make -C _build/gnucobol-$VERSION/_build/sub/tests check \ | |
TESTSUITEFLAGS="--recheck --verbose" | |
# Note: NIST tests are not performed by this CI workflow: they | |
# do not involve any Java interoperability feature. | |
- name: Upload testsuite.log | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
# Assume there's only one directory matching `_build/gnucobol-*`: | |
name: testsuite-${{ matrix.os }}.log | |
path: _build/gnucobol-${{ env.VERSION }}/_build/sub/tests/testsuite.log |