Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[???] Add build action for PRs #370

Open
wants to merge 13 commits into
base: main
Choose a base branch
from
54 changes: 54 additions & 0 deletions .github/workflows/build-irods-http-api-ubuntu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: iRODS HTTP API Builder
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking at irods/irods, how do you feel about changing this to one of the following?

  • Build-Ubuntu
  • build-irods-http-api-ubuntu

Then we could expand this to cover other versions of Ubuntu, and later other platforms such as EL8 and EL9.

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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's use the same wording as in irods/irods for this.

  • Install Prerequisites

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
Comment on lines +31 to +32

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we using 4.3.2 here because it's the declared minimum required version in the CMakeLists?

- 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