66
77jobs :
88 run-tests :
9+ strategy :
10+ matrix :
11+ os : ["ubuntu:22.04", "almalinux:9"]
912 runs-on : ubuntu-latest
13+ container :
14+ image : ${{ matrix.os }}
1015 steps :
11- # Checkout opensource COBOL
12- - name : Checkout opensource COBOL 4j
13- uses : actions/checkout@v2
1416
15- - name : Install dependencies
17+ - name : Install dependencies on Ubuntu 22.04
18+ if : matrix.os == 'ubuntu:22.04'
1619 run : |
17- sudo apt-get update
18- sudo apt-get install default-jdk
19- sudo apt-get install -y build-essential bison flex gettext texinfo
20+ apt-get update -y
21+ apt-get install -y default-jdk
22+ apt-get install -y build-essential bison flex gettext texinfo automake autoconf libtool
23+
24+ - name : Install dependencies on AlmaLinux 9
25+ if : matrix.os == 'almalinux:9'
26+ run : |
27+ dnf -y update
28+ dnf install -y java-17-openjdk-devel gcc gcc-c++ make bison flex automake autoconf libtool diffutils gettext
29+
30+ - name : Checkout opensource COBOL 4j
31+ uses : actions/checkout@v2
2032
2133 - name : Install opensource COBOL 4j
2234 run : |
2537 export CLASSPATH=":$HOME/.java_lib/sqlite.jar"
2638 ./configure --prefix=/usr/
2739 make
28- sudo make install
29- cp libcobj/build/libcobj.jar ~/.java_lib
30- export CLASSPATH="$HOME/.java_lib/libcobj.jar:$HOME/.java_lib/sqlite.jar"
40+ make install
41+ export CLASSPATH=":/usr/lib/opensourcecobol4j/libcobj.jar:$HOME/.java_lib/sqlite.jar"
3142
3243 - name : Make test scripts
3344 run : |
@@ -37,55 +48,55 @@ jobs:
3748
3849 - name : Run tests "command-line-options"
3950 run : |
40- export CLASSPATH=":$HOME/.java_lib /libcobj.jar:$HOME/.java_lib/sqlite.jar"
51+ export CLASSPATH=":/usr/lib/opensourcecobol4j /libcobj.jar:$HOME/.java_lib/sqlite.jar"
4152 cd tests/
4253 ./command-line-options
4354 cd ../
4455
4556 - name : Run tests "misc"
4657 run : |
47- export CLASSPATH=":$HOME/.java_lib /libcobj.jar:$HOME/.java_lib/sqlite.jar"
58+ export CLASSPATH=":/usr/lib/opensourcecobol4j /libcobj.jar:$HOME/.java_lib/sqlite.jar"
4859 cd tests/
4960 ./misc
5061 cd ../
5162
5263 - name : Run tests "data-rep"
5364 run : |
54- export CLASSPATH=":$HOME/.java_lib /libcobj.jar:$HOME/.java_lib/sqlite.jar"
65+ export CLASSPATH=":/usr/lib/opensourcecobol4j /libcobj.jar:$HOME/.java_lib/sqlite.jar"
5566 cd tests/
5667 ./data-rep || true
5768 cd ../
5869
5970 - name : Run tests "i18n_sjis"
6071 run : |
61- export CLASSPATH=":$HOME/.java_lib /libcobj.jar:$HOME/.java_lib/sqlite.jar"
72+ export CLASSPATH=":/usr/lib/opensourcecobol4j /libcobj.jar:$HOME/.java_lib/sqlite.jar"
6273 cd tests/
6374 ./i18n_sjis || true
6475
6576 - name : Run tests "jp-compat"
6677 run : |
67- export CLASSPATH=":$HOME/.java_lib /libcobj.jar:$HOME/.java_lib/sqlite.jar"
78+ export CLASSPATH=":/usr/lib/opensourcecobol4j /libcobj.jar:$HOME/.java_lib/sqlite.jar"
6879 cd tests/
6980 ./jp-compat || true
7081 cd ../
7182
7283 # - name: Run tests "run"
7384 # run: |
74- # export CLASSPATH=":$HOME/.java_lib /libcobj.jar:$HOME/.java_lib/sqlite.jar"
85+ # export CLASSPATH=":/usr/lib/opensourcecobol4j /libcobj.jar:$HOME/.java_lib/sqlite.jar"
7586 # cd tests/
7687 # ./run || true
7788 # cd ../
7889
7990 - name : Run tests "syntax"
8091 run : |
81- export CLASSPATH=":$HOME/.java_lib /libcobj.jar:$HOME/.java_lib/sqlite.jar"
92+ export CLASSPATH=":/usr/lib/opensourcecobol4j /libcobj.jar:$HOME/.java_lib/sqlite.jar"
8293 cd tests/
8394 ./syntax || true
8495 cd ../
8596
8697 - name : Run NIST test
8798 run : |
88- export CLASSPATH=":$HOME/.java_lib /libcobj.jar:$HOME/.java_lib/sqlite.jar"
99+ export CLASSPATH=":/usr/lib/opensourcecobol4j /libcobj.jar:$HOME/.java_lib/sqlite.jar"
89100 cd tests/cobol85/
90101 make test
91102
@@ -94,8 +105,34 @@ jobs:
94105 export CLASSPATH=":$HOME/.java_lib/sqlite.jar"
95106 ./configure --prefix=/usr/ --with-vbisam --enable-utf8
96107 make
97- sudo make install
98- cp libcobj/build/libcobj.jar ~/.java_lib
99- export CLASSPATH=":$HOME/.java_lib/libcobj.jar:$HOME/.java_lib/sqlite.jar"
108+ make install
109+ export CLASSPATH=":/usr/lib/opensourcecobol4j/libcobj.jar:$HOME/.java_lib/sqlite.jar"
100110 ./i18n_utf8 || true
101111 cd ../
112+
113+ static_analysis :
114+ runs-on : ubuntu-latest
115+ steps :
116+ # Checkout opensource COBOL
117+ - name : Checkout opensource COBOL 4j
118+ uses : actions/checkout@v2
119+
120+ - name : Install dependencies
121+ run : |
122+ sudo apt-get install default-jdk
123+
124+ # Download google-java-format and PMD
125+ - name : Install dependencies
126+ run : |
127+ curl -L -o google-java-format.jar https://github.com/google/google-java-format/releases/download/v1.15.0/google-java-format-1.15.0-all-deps.jar
128+ curl -L -o pmd-bin-6.52.0.zip https://github.com/pmd/pmd/releases/download/pmd_releases%2F6.52.0/pmd-bin-6.52.0.zip
129+ unzip pmd-bin-6.52.0.zip
130+
131+ - name : Check format with google-java-format
132+ run : |
133+ export PATH_GOOGLE_JAVA_FORMAT=${PWD}/google-java-format.jar
134+ ./check-format
135+
136+ - name : Run PMD
137+ run : |
138+ pmd-bin-6.52.0/bin/run.sh pmd -d ${PWD}/libcobj/src -R ${PWD}/.github/ruleset.xml -f text || true
0 commit comments