diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index d4aec77..9ea3a73 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -15,6 +15,7 @@ jobs: run: | echo 'RELEASE_VERSION='$(git describe --always --tags) >> $GITHUB_ENV echo 'MASTER_SHA='$(git rev-parse origin/master) >> $GITHUB_ENV + echo 'BUNDLE_NAME'=bundle-ub-16.04-irods-clients-4.2.7.tgz' >> $GITHUB_ENV outputs: isRelease: ${{ github.sha == env.MASTER_SHA }} @@ -90,21 +91,21 @@ jobs: if: always() steps: - - name: install exodus + - name: "Install exodus" run: | apt-get update apt-get install -q -y python3-pip pip3 install exodus-bundler - - name: bundle clients + - name: "Bundle clients" - run: exodus --tarball --add /usr/lib/irods/plugins/ --add /lib/x86_64-linux-gnu/ --output client_bundle.tgz /usr/local/bin/baton-* /usr/bin/ils /usr/bin/iinit /usr/bin/imeta + run: exodus --tarball --add /usr/lib/irods/plugins/ --add /lib/x86_64-linux-gnu/ --output ${{ env.BUNDLE_NAME }} /usr/local/bin/baton-* /usr/bin/ils /usr/bin/iinit /usr/bin/imeta - - name: upload bundle + - name: "Upload bundle" uses: actions/upload-artifact@v3 with: name: client_bundle - path: "client_bundle.tgz" + path: ${{ env.BUNDLE_NAME }} release: runs-on: ubuntu-latest @@ -141,7 +142,7 @@ jobs: with: name: ${{ env.RELEASE_VERSION }} prerelease: ${{ !(github.sha == env.MASTER_SHA) }} - artifacts: "client_bundle.tgz" + artifacts: ${{ env.BUNDLE_NAME}} removeArtifacts: true artifactErrorsFailBuild: true generateReleaseNotes: true diff --git a/README.md b/README.md index 7d48ad8..acbec93 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,22 @@ e.g. Install wrappers to $PREFIX/bin: ... -rwxr-xr-x 1 kdj staff 409 Apr 12 15:47 samtools +# iRODS Client Bundle + +The release contains irods 4.2.7 clients bundled from +`ub-16.04-irods-clients-4.2.7` to be used on ONT machines, where we +cannot run containers. Given the complexity of the iRODS clients' +dependency chain, the location of the plugins must be provided in the +iRODS environment file using the `irods_plugins_home` key. Some +dependencies for these plugins must also be preloaded to avoid local +system libraries from being pulled in, e.g.: + + $ LD_PRELOAD=path/libarchive.so.16:path/libcrypto.so.1.0.0:path/libssl.so.1.0.0:path/libxml2.so.2:path/libicuuc.so.55:path/libicudata.so.55 \ + ./exodus/bin/iinit + +A script to do this is set up by the ansible used to set up the instruments +(https://gitlab.internal.sanger.ac.uk/npg/oxford_nanopore_instruments). + ## Author