Skip to content

Commit

Permalink
CI: Have nc-autotools use source distribution (#1)
Browse files Browse the repository at this point in the history
Instead of a clone of the repository, have the nc-autotools job work from a source distribution prepared by a previous autotools CI job.

This should catch most of the "files not included in EXTRA_DIST" or similar issues I remember, and probably most of the "netcdf-c does not pass make distcheck" errors.
  • Loading branch information
DWesl authored Jan 30, 2023
1 parent 6676c68 commit 31cc60e
Showing 1 changed file with 85 additions and 7 deletions.
92 changes: 85 additions & 7 deletions .github/workflows/run_tests_ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,19 @@ jobs:
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check -j
if: ${{ success() }}

- name: Create source distribution
shell: bash -l {0}
if: ${{ success() }}
run: make dist -j

- uses: actions/upload-artifact@v3
with:
name: netcdf-c-autotools-source-distribution
path: |
*.tar*
*.zip
*.tgz
##
# Parallel
##
Expand Down Expand Up @@ -448,7 +461,28 @@ jobs:
use_nczarr: [ nczarr_off, nczarr_on ]
steps:

- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: netcdf-c-autotools-source-distribution

- name: Unpack source distribution
shell: bash -l {0}
run: |
if [ -f *.zip ];
then
unzip *.zip
else
tar xvzf $(ls *.tar* *.tgz *.zip | head -1)
fi
ls -d netcdf-c*
for name in netcdf-c*;
do
if [ -d ${name} ];
then
cd ${name}
break
fi
done
- name: Install System dependencies
shell: bash -l {0}
Expand Down Expand Up @@ -497,41 +531,85 @@ jobs:

- name: Run autoconf
shell: bash -l {0}
run: autoreconf -if
run: |
for name in netcdf-c*;
do
if [ -d ${name} ];
then
cd ${name}
break
fi
done
autoreconf -if
- name: Configure
shell: bash -l {0}
run: |
for name in netcdf-c*;
do
if [ -d ${name} ];
then
cd ${name}
break
fi
done
current_directory="$(pwd)"
mkdir ../build
cd ../build && CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} "${current_directory}/configure" ${ENABLE_HDF5} ${ENABLE_DAP} ${ENABLE_NCZARR}
if: ${{ success() }}

- name: Look at config.log if error
shell: bash -l {0}
run: cd ../build && cat config.log
run: |
if [ -d ../build ];
then
cd ../build
else
cd build
fi && cat config.log
if: ${{ failure() }}

- name: Print Summary
shell: bash -l {0}
run: cd ../build && cat libnetcdf.settings
run: |
if [ -d ../build ];
then
cd ../build
else
cd build
fi && cat libnetcdf.settings
- name: Build Library and Utilities
shell: bash -l {0}
run: |
cd ../build && CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make -j
if [ -d ../build ];
then
cd ../build
else
cd build
fi && CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make -j
if: ${{ success() }}

- name: Build Tests
shell: bash -l {0}
run: |
cd ../build && CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check TESTS="" -j
if [ -d ../build ];
then
cd ../build
else
cd build
fi && CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check TESTS="" -j
if: ${{ success() }}

- name: Run Tests
shell: bash -l {0}
run: |
cd ../build && CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check -j
if [ -d ../build ];
then
cd ../build
else
cd build
fi && CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check -j
if: ${{ success() }}

nc-cmake:
Expand Down

0 comments on commit 31cc60e

Please sign in to comment.