forked from HDFGroup/hdf5
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add cygwin CI and update yaml files for consistency and accuracy (HDF…
…Group#4131) * Add cygwin CI * add cygwin packages * Correct option names * Cleanup yaml file and synch look and feel * Synch CI look and feel and correct path issues * Upgrade oneapi version * pwsh needs env: for vars * No continuation char for pwsh * restore correct pwsh step * Run subset of tests for cygwin workflow * Remove space chars in regex * restore full tests
- Loading branch information
Showing
18 changed files
with
399 additions
and
164 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,9 +16,10 @@ jobs: | |
name: "aocc ${{ inputs.build_mode }}" | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/[email protected] | ||
- name: Get Sources | ||
uses: actions/[email protected] | ||
|
||
- name: Install Linux dependencies | ||
- name: Install Dependencies | ||
shell: bash | ||
run: | | ||
sudo apt update | ||
|
@@ -28,6 +29,7 @@ jobs: | |
sudo apt install -y m4 flex bison cmake libzip-dev openssl build-essential | ||
- name: Install AOCC 4.1.0 | ||
shell: bash | ||
run: | | ||
wget https://download.amd.com/developer/eula/aocc/aocc-4-1/aocc-compiler-4.1.0.tar | ||
tar -xvf aocc-compiler-4.1.0.tar | ||
|
@@ -74,7 +76,6 @@ jobs: | |
LDFLAGS="-L/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib \ | ||
-L/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib" | ||
# BUILD | ||
- name: Autotools Build | ||
shell: bash | ||
env: | ||
|
@@ -84,8 +85,6 @@ jobs: | |
make -j3 | ||
working-directory: ${{ runner.workspace }}/build | ||
|
||
# RUN TESTS | ||
# NORMAL | ||
- name: Autotools Run Tests | ||
env: | ||
NPROCS: 2 | ||
|
@@ -94,7 +93,6 @@ jobs: | |
make check -j | ||
working-directory: ${{ runner.workspace }}/build | ||
|
||
# INSTALL (note that this runs even when we don't run the tests) | ||
- name: Autotools Install | ||
env: | ||
NPROCS: 2 | ||
|
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 |
---|---|---|
|
@@ -16,9 +16,10 @@ jobs: | |
name: "aocc ${{ inputs.build_mode }}" | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/[email protected] | ||
- name: Get Sources | ||
uses: actions/[email protected] | ||
|
||
- name: Install Linux dependencies | ||
- name: Install Dependencies | ||
shell: bash | ||
run: | | ||
sudo apt update | ||
|
@@ -28,6 +29,7 @@ jobs: | |
sudo apt install -y m4 flex bison cmake libzip-dev openssl build-essential | ||
- name: Install AOCC 4.1.0 | ||
shell: bash | ||
run: | | ||
wget https://download.amd.com/developer/eula/aocc/aocc-4-1/aocc-compiler-4.1.0.tar | ||
tar -xvf aocc-compiler-4.1.0.tar | ||
|
@@ -56,7 +58,7 @@ jobs: | |
make | ||
make install | ||
- name: CMake Configure with aocc | ||
- name: CMake Configure | ||
shell: bash | ||
run: | | ||
export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.1.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.5-install/lib:/usr/local/lib | ||
|
@@ -77,14 +79,12 @@ jobs: | |
$GITHUB_WORKSPACE | ||
#cat src/libhdf5.settings | ||
# BUILD | ||
- name: CMake Build | ||
shell: bash | ||
run: | | ||
cmake --build . --parallel 3 --config ${{ inputs.build_mode }} | ||
working-directory: ${{ runner.workspace }}/build | ||
|
||
# RUN TESTS | ||
- name: CMake Run Tests | ||
shell: bash | ||
run: | | ||
|
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,62 @@ | ||
name: hdf5 dev autotools cygwin | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
build_mode: | ||
description: "release vs. debug build" | ||
required: true | ||
type: string | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
cygwin_build_and_test: | ||
name: "cygwin ${{ inputs.build_mode }}" | ||
runs-on: windows-latest | ||
steps: | ||
- name: Set git to use LF | ||
run: | | ||
git config --global core.autocrlf input | ||
- name: Get Sources | ||
uses: actions/[email protected] | ||
|
||
- name: Install Cygwin | ||
uses: cygwin/cygwin-install-action@master | ||
with: | ||
packages: autoconf automake make gcc-fortran libtool zlib-devel m4 flex bison perl | ||
|
||
- name: Autotools Configure | ||
shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}' | ||
run: | | ||
export PATH=/usr/bin:$PATH | ||
sh ./autogen.sh | ||
mkdir build | ||
cd build | ||
../configure \ | ||
--enable-build-mode=${{ inputs.build_mode }} \ | ||
--enable-shared \ | ||
--enable-fortran | ||
- name: Autotools Build | ||
shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}' | ||
run: | | ||
export PATH=/usr/bin:$PATH | ||
cd build | ||
make -j3 | ||
- name: Autotools Run Tests | ||
shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}' | ||
run: | | ||
export PATH=/usr/bin:$PATH | ||
cd build | ||
# make check -j ---- cache test fails | ||
|
||
- name: Autotools Install | ||
shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}' | ||
run: | | ||
export PATH=/usr/bin:$PATH | ||
cd build | ||
make install |
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,63 @@ | ||
name: hdf5 dev CMake cygwin | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
build_mode: | ||
description: "release vs. debug build" | ||
required: true | ||
type: string | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
cygwin_build_and_test: | ||
name: "cygwin-${{ inputs.build_mode }}" | ||
runs-on: windows-latest | ||
steps: | ||
- name: Set git to use LF | ||
run: | | ||
git config --global core.autocrlf input | ||
- name: Get Sources | ||
uses: actions/[email protected] | ||
|
||
- name: Install Cygwin | ||
uses: cygwin/cygwin-install-action@master | ||
with: | ||
packages: cmake gcc-fortran make ninja zlib-devel flex bison perl | ||
|
||
- name: CMake Configure | ||
shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}' | ||
run: | | ||
export PATH=/usr/bin:$PATH | ||
mkdir build | ||
cd build | ||
cmake -C ../config/cmake/cacheinit.cmake \ | ||
-G Ninja \ | ||
--log-level=VERBOSE \ | ||
-DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \ | ||
-DBUILD_SHARED_LIBS:BOOL=OFF \ | ||
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ | ||
-DHDF5_BUILD_CPP_LIB:BOOL=OFF \ | ||
-DLIBAEC_USE_LOCALCONTENT=OFF \ | ||
-DZLIB_USE_LOCALCONTENT=OFF \ | ||
-DHDF5_BUILD_FORTRAN:BOOL=ON \ | ||
-DHDF5_BUILD_JAVA:BOOL=OFF \ | ||
.. | ||
- name: CMake Build | ||
shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}' | ||
run: | | ||
export PATH=/usr/bin:$PATH | ||
cd build | ||
cmake --build . --parallel 3 --config ${{ inputs.build_mode }} | ||
- name: CMake Run Tests | ||
shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}' | ||
run: | | ||
export PATH=/usr/bin:$PATH | ||
cd build | ||
ctest . --parallel 2 -C ${{ inputs.build_mode }} -V | ||
# ctest . --parallel 2 -C ${{ inputs.build_mode }} -V -R "FORTRAN|H5TEST" |
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 |
---|---|---|
@@ -1,4 +1,4 @@ | ||
name: hdf5 dev autotools icx CI | ||
name: hdf5 dev autotools icx | ||
|
||
on: | ||
workflow_call: | ||
|
@@ -12,49 +12,33 @@ permissions: | |
contents: read | ||
|
||
jobs: | ||
Intel_build_and_test: | ||
name: "Intel ${{ inputs.build_mode }}" | ||
intel_oneapi_linux: | ||
name: "linux-oneapi ${{ inputs.build_mode }}" | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/[email protected] | ||
- name: Get Sources | ||
uses: actions/[email protected] | ||
|
||
- name: Install Dependencies | ||
shell: bash | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install autoconf automake libtool libtool-bin libaec-dev | ||
- name: Add oneAPI to apt | ||
shell: bash | ||
run: | | ||
cd /tmp | ||
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | ||
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | ||
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | ||
sudo add-apt-repository -y "deb https://apt.repos.intel.com/oneapi all main" | ||
- name: Install oneAPI dpcpp and fortran compiler | ||
shell: bash | ||
run: | | ||
sudo apt update | ||
sudo apt install -y intel-oneapi-compiler-dpcpp-cpp | ||
sudo apt install -y intel-oneapi-compiler-fortran | ||
sudo apt install -y intel-oneapi-mpi-devel | ||
sudo apt-get install doxygen graphviz | ||
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev | ||
echo "CC=icx" >> $GITHUB_ENV | ||
echo "CXX=icpx" >> $GITHUB_ENV | ||
echo "FC=ifx" >> $GITHUB_ENV | ||
- name: Install oneAPI MKL library | ||
shell: bash | ||
run: | | ||
sudo apt install -y intel-oneapi-mkl-devel | ||
- name: Install oneAPI (Linux) | ||
uses: fortran-lang/setup-fortran@v1 | ||
id: setup-fortran | ||
with: | ||
compiler: intel | ||
version: '2024.0' | ||
|
||
- name: Autotools Configure | ||
shell: bash | ||
env: | ||
FC: ${{ steps.setup-fortran.outputs.fc }} | ||
CC: ${{ steps.setup-fortran.outputs.cc }} | ||
CXX: ${{ steps.setup-fortran.outputs.cxx }} | ||
run: | | ||
source /opt/intel/oneapi/setvars.sh | ||
export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin | ||
sh ./autogen.sh | ||
mkdir "${{ runner.workspace }}/build" | ||
cd "${{ runner.workspace }}/build" | ||
|
@@ -63,37 +47,42 @@ jobs: | |
--enable-shared \ | ||
--disable-fortran | ||
# BUILD | ||
- name: Autotools Build | ||
shell: bash | ||
env: | ||
FC: ${{ steps.setup-fortran.outputs.fc }} | ||
CC: ${{ steps.setup-fortran.outputs.cc }} | ||
CXX: ${{ steps.setup-fortran.outputs.cxx }} | ||
run: | | ||
source /opt/intel/oneapi/setvars.sh | ||
export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin | ||
make -j3 | ||
working-directory: ${{ runner.workspace }}/build | ||
|
||
# RUN TESTS | ||
# NORMAL | ||
- name: Autotools Run Tests | ||
shell: bash | ||
env: | ||
FC: ${{ steps.setup-fortran.outputs.fc }} | ||
CC: ${{ steps.setup-fortran.outputs.cc }} | ||
CXX: ${{ steps.setup-fortran.outputs.cxx }} | ||
run: | | ||
source /opt/intel/oneapi/setvars.sh | ||
export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin | ||
export SYCL_DEVICE_FILTER=opencl.cpu | ||
make check -j2 | ||
working-directory: ${{ runner.workspace }}/build | ||
|
||
# INSTALL (note that this runs even when we don't run the tests) | ||
- name: Autotools Install | ||
shell: bash | ||
env: | ||
FC: ${{ steps.setup-fortran.outputs.fc }} | ||
CC: ${{ steps.setup-fortran.outputs.cc }} | ||
CXX: ${{ steps.setup-fortran.outputs.cxx }} | ||
run: | | ||
source /opt/intel/oneapi/setvars.sh | ||
export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin | ||
export SYCL_DEVICE_FILTER=opencl.cpu | ||
make install | ||
working-directory: ${{ runner.workspace }}/build | ||
|
||
- name: Autotools Verify Install | ||
shell: bash | ||
env: | ||
FC: ${{ steps.setup-fortran.outputs.fc }} | ||
CC: ${{ steps.setup-fortran.outputs.cc }} | ||
CXX: ${{ steps.setup-fortran.outputs.cxx }} | ||
run: | | ||
source /opt/intel/oneapi/setvars.sh | ||
export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin | ||
export SYCL_DEVICE_FILTER=opencl.cpu | ||
make check-install | ||
working-directory: ${{ runner.workspace }}/build |
Oops, something went wrong.