Skip to content

[#509] Implement support for logical quotas (main) #339

[#509] Implement support for logical quotas (main)

[#509] Implement support for logical quotas (main) #339

name: Build Package
on: [ push, pull_request ]
jobs:
build:
env:
DEBIAN_FRONTEND: noninteractive
name: "${{ matrix.os }} - ${{ matrix.irods-version }}"
strategy:
fail-fast: false
matrix:
os: [ 'ubuntu:22.04', 'ubuntu:24.04' ]
irods-version: [ 4.3.2, 5.0.0, 5.0.1 ]
exclude:
- os: 'ubuntu:24.04'
irods-version: 4.3.2
runs-on: ubuntu-latest
container: ${{ matrix.os }}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Prerequisites
run: |
apt-get update -qq
apt-get install -qq \
apt-transport-https \
ca-certificates \
gnupg \
lsb-release \
wget \
g++-11 \
gcc-11 \
cmake \
libcurl4-gnutls-dev \
libssl-dev \
libssl3 \
ninja-build
- name: Install iRODS
run: |
mkdir -p /etc/apt/keyrings
wget -qO - https://packages.irods.org/irods-signing-key.asc | \
gpg \
--no-options \
--no-default-keyring \
--no-auto-check-trustdb \
--homedir /dev/null \
--no-keyring \
--import-options import-export \
--output /etc/apt/keyrings/renci-irods-archive-keyring.pgp \
--import
echo "deb [signed-by=/etc/apt/keyrings/renci-irods-archive-keyring.pgp arch=amd64] https://packages.irods.org/apt/ $(lsb_release -sc) main" | \
tee /etc/apt/sources.list.d/renci-irods.list
apt-get update -qq
apt-get install -qq \
"irods-dev=${{ matrix.irods-version }}-0~$(lsb_release -sc)" \
"irods-runtime=${{ matrix.irods-version }}-0~$(lsb_release -sc)"
- name: Install iRODS Externals
run: |
apt-get update -qq
apt-get install -qq \
irods-externals-clang13.0.1-0 \
irods-externals-fmt-libcxx8.1.1-1 \
irods-externals-json3.10.4-0 \
irods-externals-jsoncons0.178.0-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: |
mkdir build
cmake -DIRODS_BUILD_WITH_WERROR=NO -GNinja -B build/ -S .
- name: Build and Package
run: |
cmake --build build/ -t package