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 20, 2024
1 parent c4eb8da commit 14a44f4
Show file tree
Hide file tree
Showing 3 changed files with 110 additions and 4 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/macos-java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ name: MacOS with Java interoperability
on:
pull_request:
branches: [ java-interop ]
push:
branches: [ more-ci-updates ]
# push:
# branches: [ java-interop ]
# manual run in actions tab - for all branches
workflow_dispatch:

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ubuntu-java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ name: Ubuntu with Java interoperability
on:
pull_request:
branches: [ java-interop ]
push:
branches: [ more-ci-updates ]
# push:
# branches: [ java-interop ]
# manual run in actions tab - for all branches
workflow_dispatch:

Expand Down
106 changes: 106 additions & 0 deletions .github/workflows/windows-java.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
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: |
make -C _build --jobs=$(($(nproc)+1))
shell: msys2 {0}

- 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
make -C _build 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

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

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

0 comments on commit 14a44f4

Please sign in to comment.