Skip to content

Commit

Permalink
Add Windows CI for Java interoperability branch
Browse files Browse the repository at this point in the history
  • Loading branch information
nberth committed Aug 16, 2024
1 parent 1b1f004 commit 6bd657a
Show file tree
Hide file tree
Showing 2 changed files with 113 additions and 2 deletions.
111 changes: 111 additions & 0 deletions .github/workflows/windows-java.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
name: Windows MSYS2 with Java interoperability

on:
pull_request:
branches: [ java-interop ]
push:
branches: [ java-interop-ci4windows ]
# manual run in actions tab - for all branches
workflow_dispatch:

jobs:
build:
strategy:
fail-fast: false
matrix:
os:
- windows-latest

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
uses: msys2/setup-msys2@v2
with:
update: true
install: autoconf automake libtool make mingw-w64-x86_64-ncurses mingw-w64-x86_64-libxml2 mingw-w64-x86_64-cjson mingw-w64-x86_64-db mingw-w64-x86_64-gmp libdb-devel mingw-w64-x86_64-gcc flex bison gmp-devel help2man texinfo gettext-devel

- name: Set git user
run: |
git config --global user.name github-actions
git config --global user.email github-actions-bot@users.noreply.github.com
- name: bootstrap
run: |
./autogen.sh
autoconf
autoreconf --install --force
shell: msys2 {0}

- name: Build environment setup
run: |
mkdir _build
echo "JAVA_HOME=$JAVA_HOME"
echo "export PATH=\"$(cygpath -u "$JAVA_HOME")/bin:\$PATH\"" >> ~/.bash_profile
shell: msys2 {0}

- name: configure
run: |
cd _build
echo "$PATH"
java_home="$(cygpath -u "$JAVA_HOME")"
# thanks @revelator & @GitMensch ;-)
# (cf https://github.com/msys2/MINGW-packages/discussions/8056)
lt_cv_deplibs_check_method=pass_all \
../configure --enable-cobc-internal-checks \
--enable-hardening \
--prefix /opt/cobol/gnucobol \
--exec-prefix /opt/cobol/gnucobol \
--with-java \
JAVA_HOME="$java_home" \
JAVA="$java_home/bin/java" \
JAVAC="$java_home/bin/javac"
shell: msys2 {0}

- name: Upload config.log
uses: actions/upload-artifact@v4
# if: failure()
with:
name: config-${{ matrix.os }}.log
path: _build/config.log

- name: make
run: |
sed -i '/#include <libxml\/xmlwriter.h>/a \#include <libxml\/parser.h>' libcob/common.c
sed -i '/#include <libxml\/xmlwriter.h>/a \#include <libxml\/parser.h>' libcob/mlio.c
cd _build
make --jobs=$(($(nproc)+1))
shell: msys2 {0}

- name: install
run: |
cd _build
make install
find /opt/cobol > install.log
shell: msys2 {0}

- name: Upload install.log
uses: actions/upload-artifact@v4
with:
name: install-${{ matrix.os }}.log
path: _build/install.log

- name: check
continue-on-error: true
run: |
sed '/AT_SETUP(\[ACCEPT OMITTED (SCREEN)\])/a \
AT_SKIP_IF(\[true\])' \
-i tests/testsuite.src/run_accept.at
cd _build/tests
make check TESTSUITEFLAGS="--jobs=$(($(nproc)+1))"
shell: msys2 {0}

- name: Upload testsuite.log
uses: actions/upload-artifact@v4
with:
name: testsuite-${{ matrix.os }}.log
path: _build/tests/testsuite.log
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -981,8 +981,8 @@ AS_IF([test "x$with_java" != "xno"], [
JNI_LIBS="-ljvm"
cob_has_jni=yes
], [
JNI_LIBPATH=""])
JNI_LIBPATH=""
])
LIBS="$curr_LIBS"
])
])
Expand Down

0 comments on commit 6bd657a

Please sign in to comment.