name: hdf5 dev autotools parallel CI # Controls when the action will run. Triggers the workflow on a call on: workflow_call: inputs: build_mode: description: "release vs. debug build" required: true type: string permissions: contents: read # A workflow run is made up of one or more jobs that can run sequentially or # in parallel. We just have one job, but the matrix items defined below will # run in parallel. jobs: # # The GitHub runners are inadequate for running parallel HDF5 tests, # so we catch most issues in daily testing. What we have here is just # a compile check to make sure nothing obvious is broken. # A workflow that builds the library # Parallel Linux (Ubuntu) w/ gcc + Autotools # Autotools_build_parallel: name: "Parallel GCC-${{ inputs.build_mode }}" # Don't run the action if the commit message says to skip CI if: "!contains(github.event.head_commit.message, 'skip-ci')" # The type of runner that the job will run on runs-on: ubuntu-latest # Steps represent a sequence of tasks that will be executed as part of the job steps: # SETUP - name: Install Linux Dependencies run: | sudo apt update sudo apt-get install ninja-build doxygen graphviz sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev sudo apt install gcc-12 g++-12 gfortran-12 sudo apt install automake autoconf libtool libtool-bin sudo apt install libaec0 libaec-dev sudo apt install openmpi-bin openmpi-common mpi-default-dev echo "CC=mpicc" >> $GITHUB_ENV echo "FC=mpif90" >> $GITHUB_ENV # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - name: Get Sources uses: actions/checkout@v4.1.1 # AUTOTOOLS CONFIGURE - name: Autotools Configure run: | sh ./autogen.sh mkdir "${{ runner.workspace }}/build" cd "${{ runner.workspace }}/build" CC=mpicc $GITHUB_WORKSPACE/configure \ --enable-build-mode=${{ inputs.build_mode }} \ --enable-deprecated-symbols \ --with-default-api-version=v114 \ --enable-shared \ --enable-parallel \ --disable-cxx \ --enable-fortran \ --disable-java \ --disable-mirror-vfd \ --disable-direct-vfd \ --disable-ros3-vfd \ --with-szlib=yes shell: bash # BUILD - name: Autotools Build run: make -j3 working-directory: ${{ runner.workspace }}/build