-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Windows CI for Java interoperability branch
- Loading branch information
Showing
3 changed files
with
110 additions
and
4 deletions.
There are no files selected for viewing
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
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
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
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 |