diff --git a/.github/workflows/build-irods-http-api-ubuntu.yml b/.github/workflows/build-irods-http-api-ubuntu.yml new file mode 100644 index 00000000..9ea4b6d2 --- /dev/null +++ b/.github/workflows/build-irods-http-api-ubuntu.yml @@ -0,0 +1,54 @@ +name: iRODS HTTP API Builder +on: [pull_request] +jobs: + build: + name: Build iRODS HTTP API + runs-on: ubuntu-22.04 + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + - name: Install Misc + run: | + sudo apt-get update -qq + sudo apt-get install -qq \ + apt-transport-https \ + git \ + gnupg \ + lsb-release \ + wget \ + g++-11 \ + gcc-11 \ + libcurl4-gnutls-dev \ + libssl-dev \ + libssl3 \ + ninja-build + - name: Install iRODS + run: | + wget -qO - https://packages.irods.org/irods-signing-key.asc | sudo apt-key add - && + echo "deb [arch=amd64] https://packages.irods.org/apt/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/renci-irods.list + sudo apt-get update -qq + sudo apt-get install -qq \ + irods-dev=4.3.2-0~jammy \ + irods-runtime=4.3.2-0~jammy + - name: Install iRODS Externals + run: | + wget -qO - https://unstable.irods.org/irods-unstable-signing-key.asc | sudo apt-key add - + echo "deb [arch=amd64] https://unstable.irods.org/apt/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/renci-irods-unstable.list + sudo apt-get update -qq + sudo apt-get install -qq \ + irods-externals-clang13.0.1-0 \ + irods-externals-cmake3.21.4-0 \ + irods-externals-fmt-libcxx8.1.1-1 \ + irods-externals-json3.10.4-0 \ + irods-externals-jwt-cpp0.6.99.1-0 \ + irods-externals-nanodbc-libcxx2.13.0-2 \ + irods-externals-spdlog-libcxx1.9.2-2 + - name: Configure CMake + run: | + export PATH=/opt/irods-externals/cmake3.21.4-0/bin:$PATH + mkdir build + cmake -GNinja -B build/ -S . + - name: Build and Package + run: | + export PATH=/opt/irods-externals/cmake3.21.4-0/bin:$PATH + cmake --build build/ -t package