diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index def5eabb8..63eeb09e3 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -4,8 +4,7 @@ on: pull_request: branches: [ gcos4gnucobol-3.x ] push: - # manual run in actions tab - for all branches - workflow_dispatch: + branches: [ gcos4gnucobol-3.x ] jobs: build: @@ -18,9 +17,12 @@ jobs: runs-on: ${{ matrix.os }} steps: + - name: Configure git + run: git config --global core.symlinks false + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Install packages run: | @@ -49,28 +51,44 @@ jobs: run: | mkdir _build echo "NPROC=`sysctl -n hw.ncpu`" >> $GITHUB_ENV + export TERM="vt100" + echo "TERM=$TERM" >> $GITHUB_ENV - name: configure run: | cd _build - ../configure --enable-cobc-internal-checks --enable-hardening + ../configure --enable-cobc-internal-checks --enable-hardening --prefix /opt/cobol/gnucobol-gcos --exec-prefix /opt/cobol/gnucobol-gcos - name: Upload config.log uses: actions/upload-artifact@v3 - if: failure() with: name: config.log path: _build/config.log +# if: failure() - name: make run: | cd _build make --jobs=$((${NPROC}+1)) +# make install must be done before make check, otherwise execution of +# generated COBOL files fail for a missing /usr/local/lib/libcob.dylib + - name: make install + run: | + cd _build + sudo make install + find /opt/cobol > install.log + + - name: Upload install.log + uses: actions/upload-artifact@v3 + with: + name: install.log + path: _build/install.log + - name: check run: | - cd _build/tests - TERM=xterm make check TESTSUITEFLAGS="--jobs=$((${NPROC}+1))" + cd _build + make check TESTSUITEFLAGS="--jobs=$((${NPROC}+1))" - name: Upload testsuite.log uses: actions/upload-artifact@v3 @@ -79,7 +97,22 @@ jobs: name: testsuite.log path: _build/tests/testsuite.log - - name: install + - name: Cache newcob.val.Z + uses: actions/cache@v3 + id: newcob + with: + path: _build/tests/cobol85/newcob.val.Z.cached + key: newcob + + - name: Download newcob.val.Z + if: steps.newcob.outputs.cache-hit != 'true' run: | - cd _build - sudo make install + cd _build/tests/cobol85 + make newcob.val.Z + ln -f newcob.val.Z newcob.val.Z.cached + + - name: NIST85 Test Suite + run: | + cd _build/tests/cobol85 + ln -f newcob.val.Z.cached newcob.val.Z + make EXEC85 && make --jobs=$(($(nproc)+1)) test diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index b39048c5b..f78c5c946 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -23,7 +23,7 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Install packages run: | diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 447c7149a..e238d741a 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -1,11 +1,12 @@ name: Windows Workflow on: - # pull_request: - # branches: [ gcos4gnucobol-3.x ] - # push: + pull_request: + branches: [ gcos4gnucobol-3.x ] + push: + branches: [ gcos4gnucobol-3.x ] # manual run in actions tab - for all branches - workflow_dispatch: + # workflow_dispatch: jobs: build: @@ -20,13 +21,13 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Install packages uses: msys2/setup-msys2@v2 with: update: true - install: autoconf automake libtool make mingw-w64-x86_64-db mingw-w64-x86_64-gmp libdb-devel mingw-w64-x86_64-gcc flex bison gmp-devel help2man texinfo + install: autoconf automake libtool make 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: | @@ -35,7 +36,9 @@ jobs: - name: bootstrap run: | - ./build_aux/bootstrap + ./autogen.sh + autoconf + autoreconf --install --force shell: msys2 {0} - name: Build environment setup @@ -46,7 +49,7 @@ jobs: - name: configure run: | cd _build - ../configure --enable-cobc-internal-checks --enable-hardening --prefix /opt/cobol/gnucobol-gcos + ../configure --enable-cobc-internal-checks --enable-hardening --prefix /opt/cobol/gnucobol-gcos --exec-prefix /opt/cobol/gnucobol-gcos shell: msys2 {0} - name: Upload config.log @@ -62,21 +65,29 @@ jobs: 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@v3 + with: + name: install.log + path: _build/install.log + - name: check + continue-on-error: true run: | cd _build/tests - make check TESTSUITEFLAGS="--jobs=$(($(nproc)+1))" + make check TESTSUITEFLAGS="--jobs=$(($(nproc)+1))" || (echo "not all tests passed") + make test shell: msys2 {0} - name: Upload testsuite.log uses: actions/upload-artifact@v3 - if: failure() with: name: testsuite.log path: _build/tests/testsuite.log - - - name: install - run: | - cd _build - make install - shell: msys2 {0} diff --git a/.gitignore b/.gitignore index 087015856..187116660 100644 --- a/.gitignore +++ b/.gitignore @@ -1,17 +1,23 @@ +*~ *.la +.libs *.lo *.o *.so -*~ + .deps -.libs -/_build +Makefile.in + +/aclocal.m4 +/aminclude_static.am +/autom4te.cache /bin/cob-config /bin/cob-config.1 /bin/cobcrun /bin/cobcrun.1 /bin/cobfile /bin/gcdiff +/_build /cobc/cobc /cobc/cobc.1 /cobc/parser.c @@ -22,6 +28,7 @@ /cobc/ppparse.h /cobc/scanner.c /config.h +/config.h.in /config.log /config.status /configure @@ -38,15 +45,18 @@ /doc/stamp-vti /doc/version.texi /libtool -/po/*.gmo -/po/POTFILES +/Makefile /po/en@boldquot.po /po/en@quot.po +/po/*.gmo +/po/POTFILES /pre-inst-env /stamp-h1 /tarstamp.h /tests/atconfig /tests/atlocal +/tests/cobol85/copy/ +/tests/cobol85/copyalt/ /tests/cobol85/DB/ /tests/cobol85/EXEC85 /tests/cobol85/EXEC85.cob @@ -54,6 +64,7 @@ /tests/cobol85/IF/ /tests/cobol85/IX/ /tests/cobol85/NC/ +/tests/cobol85/newcob.val /tests/cobol85/OB/ /tests/cobol85/RL/ /tests/cobol85/RW/ @@ -61,18 +72,10 @@ /tests/cobol85/SM/ /tests/cobol85/SQ/ /tests/cobol85/ST/ -/tests/cobol85/copy/ -/tests/cobol85/copyalt/ -/tests/cobol85/newcob.val /tests/cobol85/summary.log /tests/package.m4 /tests/run_prog_manual.sh /tests/testsuite /tests/testsuite.dir/ /tests/testsuite.log -Makefile -Makefile.in -aclocal.m4 -aminclude_static.am -autom4te.cache -config.h.in +/tests/testsuite_manual