From 47ca5b87d90c9b609b13fd862420b99064ec9932 Mon Sep 17 00:00:00 2001 From: Espen Hagen <2492641+espenhgn@users.noreply.github.com> Date: Tue, 25 Jun 2024 19:59:26 +0200 Subject: [PATCH] Add container build/push actions (#260) * `singularity`: push built container to https://ghcr.io Fixes #256 * bump apt package versions * trigger on PR * build gwas container * trigger build * trigger on any change * build python3 and r containers * trigger on reopened PR * bump libssl-dev version * don't set GITHUB_TOKEN * add GITHUB_TOKEN to Dockerfile ENV * secrets * bump action version * no github_token file? * bump git version * lowercase * GITHUB_PAT * test sleep * something else * secrets * libgomp1 version up; redundant install removed * expose to env, fixes * `singularity`: push built container to https://ghcr.io Fixes #256 * explicit install of deps from GitHub sources * comma * update INSTALL.md * edits * fixes --- .github/workflows/docker_build_gwas.yml | 53 +++++++++++ .github/workflows/docker_build_hello.yml | 53 +++++++++++ .github/workflows/docker_build_push_gwas.yml | 84 ++++++++++++++++++ .github/workflows/docker_build_push_hello.yml | 84 ++++++++++++++++++ .../workflows/docker_build_push_python3.yml | 84 ++++++++++++++++++ .github/workflows/docker_build_push_r.yml | 88 +++++++++++++++++++ .github/workflows/docker_build_python3.yml | 53 +++++++++++ .github/workflows/docker_build_r.yml | 57 ++++++++++++ CHANGELOG.md | 7 +- INSTALL.md | 87 +++++++++++++++++- README.md | 17 ++-- docker/dockerfiles/gwas/Dockerfile | 2 +- docker/dockerfiles/hello/Dockerfile | 4 +- docker/dockerfiles/python3/Dockerfile | 4 +- docker/dockerfiles/r/Dockerfile | 8 +- docker/scripts/R/github.R | 17 +++- docker/scripts/apt_get_essential.sh | 19 ++-- docker/scripts/install_bcftools.sh | 2 +- docker/scripts/install_htslib.sh | 7 +- docker/scripts/install_king.sh | 7 -- 20 files changed, 692 insertions(+), 45 deletions(-) create mode 100644 .github/workflows/docker_build_gwas.yml create mode 100644 .github/workflows/docker_build_hello.yml create mode 100644 .github/workflows/docker_build_push_gwas.yml create mode 100644 .github/workflows/docker_build_push_hello.yml create mode 100644 .github/workflows/docker_build_push_python3.yml create mode 100644 .github/workflows/docker_build_push_r.yml create mode 100644 .github/workflows/docker_build_python3.yml create mode 100644 .github/workflows/docker_build_r.yml diff --git a/.github/workflows/docker_build_gwas.yml b/.github/workflows/docker_build_gwas.yml new file mode 100644 index 00000000..970c7926 --- /dev/null +++ b/.github/workflows/docker_build_gwas.yml @@ -0,0 +1,53 @@ +# action to build the gwas Docker image at each commit without pushing it +name: build gwas Docker image + +on: + pull_request: + branches: + - 'main' + push: + branches: + - 'main' + tags: + - "v*.*.*" + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - + name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + images: | + ghcr.io/${{ github.repository_owner }}/containers + tags: | + type=ref,event=branch + type=semver,pattern={{version}} + type=sha + type=raw,value=latest,enable={{is_default_branch}} + - + name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - + name: Login to GitHub Container Registry + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - + name: Build and push + uses: docker/build-push-action@v5 + with: + context: "{{defaultContext}}:docker" + push: False + tags: ${{ steps.meta.outputs.tags }} + file: + ./dockerfiles/gwas/Dockerfile + platforms: linux/amd64 diff --git a/.github/workflows/docker_build_hello.yml b/.github/workflows/docker_build_hello.yml new file mode 100644 index 00000000..ea31be76 --- /dev/null +++ b/.github/workflows/docker_build_hello.yml @@ -0,0 +1,53 @@ +# action to build the hello Docker image at each commit without pushing it +name: build hello Docker image + +on: + pull_request: + branches: + - 'main' + push: + branches: + - 'main' + tags: + - "v*.*.*" + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - + name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + images: | + ghcr.io/${{ github.repository_owner }}/containers + tags: | + type=ref,event=branch + type=semver,pattern={{version}} + type=sha + type=raw,value=latest,enable={{is_default_branch}} + - + name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - + name: Login to GitHub Container Registry + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - + name: Build and push + uses: docker/build-push-action@v5 + with: + context: "{{defaultContext}}:docker" + push: False + tags: ${{ steps.meta.outputs.tags }} + file: + ./dockerfiles/hello/Dockerfile + platforms: linux/amd64 diff --git a/.github/workflows/docker_build_push_gwas.yml b/.github/workflows/docker_build_push_gwas.yml new file mode 100644 index 00000000..8c495fd4 --- /dev/null +++ b/.github/workflows/docker_build_push_gwas.yml @@ -0,0 +1,84 @@ +# action to build and push the gwas Docker and Singularity image at each tag (for release) +name: container build push + +on: + push: + tags: + - "v*.*.*" + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - + name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + images: | + ghcr.io/${{ github.repository_owner }}/containers + tags: | + type=ref,event=branch + type=semver,pattern={{version}} + type=sha + type=raw,value=latest,enable={{is_default_branch}} + - + name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - + name: Login to GitHub Container Registry + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - + name: Build and push + uses: docker/build-push-action@v5 + with: + context: "{{defaultContext}}:docker" + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + file: + ./dockerfiles/gwas/Dockerfile + platforms: linux/amd64 + + build-apptainer-container: + needs: docker + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + name: Build Apptainer Container + steps: + - name: Check out code for the container builds + uses: actions/checkout@v4 + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + images: | + ghcr.io/${{ github.repository_owner }}/gwas + tags: | + type=semver,pattern={{version}} + type=ref,event=branch + type=sha + type=raw,value=latest,enable={{is_default_branch}} + - name: Build and push Apptainer container + run: | + tags="${{ steps.meta.outputs.tags }}" + csv_tags=$(printf "%s\n" "$tags" | awk -F: 'NR==1{printf "%s,", $0; next} {printf "%s,", $NF}' | sed 's/,$//') + IFS= read -r first_tag <.sif .sif.old # optional, just rename the old(er) file +apptainer pull docker://ghcr.io/comorment/: # or +singularity pull docker://ghcr.io/comorment/: # or +oras pull ghcr.io/comorment/_sif: # note the "_sif" suffix +``` + +where `` corresponds to one of `{hello|gwas|python3|r}` and `` corresponds to a tag listed under `https://github.com/comorment/containers/pkgs/container/`, +such as `latest`, `main`, or `sha_`. +The `oras pull` statement pulls the `.sif` file from `https://github.com/comorment/containers/pkgs/container/_sif` using the [ORAS](https://oras.land) registry, without the need to build the container locally. + +## Pulling and using Docker image + +To pull the corresponding Docker image, issue: + +```bash +docker pull ghcr.io/comorment/: +``` + +If working on recent Macs, add the `--platform=linux/amd64` flag after `docker pull`. +This may allow replacing `singularity exec ...` or `apptainer exec ...` statements with appropriate `docker run ...` statements on systems where Singularity or Apptainer is unavailable. +Functionally, the Docker image is equivalent to the Singularity container, but note that syntax for mounting volumes and invoking commands may differ. +Please refer to [docs.docker.com](https://docs.docker.com) for more information. + +> [!NOTE] +> Note that the provided Docker image may not support all CPUs, and may not be able to run on all systems via CPU virtualization. +> An option may be to build the Docker image on the host machine directly (e.g., M1/M2/M3 Macs, PCs with older Intel CPUs), as: +> +>```bash +>docker build --platform=linux/amd64 -t ghcr.io/comorment/ -f dockerfiles//Dockerfile . +>``` + +A minimal usage example may be to invoke the PLINK tool and its help function in the `hello` container: + +```bash +export HELLO="ghcr.io/comorment/hello:latest" +export PLINK1="docker run --platform=linux/amd64 --rm -v ${HELLO}/usecases:/home -v ${HELLO}/reference:/REF -w/home --entrypoint=plink1 ${HELLO}" +$PLINK1 --help +``` + +A more complete example is provided for MiXeR [here](https://github.com/comorment/mixer/blob/main/usecases/mixer_simu.md#docker-details). + +## Systems without internet access + +Some secure platforms do not have direct internet access, hence we recommend cloning/pulling all required files on a machine with internet access as explained above and archiving the `containers` directory with all files and moving it using whatever file uploader is available for the platform. + +```bash +cd /path/to/containers +SHA=$(git rev-parse --short HEAD) +cd .. +tar --exclude=".git/*" -cvf containers_$SHA.tar containers +``` + +# Install (old) + +We recommend to clone this entire repository using ``git clone --depth 1 https://github.com/comorment/containers.git``. However, you need to install the [Git LFS extension](https://git-lfs.github.com/). This is done by downloading and unpacking the GitLFS package, adding ``git-lfs`` binary to a folder that is in your ``PATH``, and running ``git lfs install`` command. @@ -14,7 +95,7 @@ cp git-lfs /home/$USER/bin git lfs install ``` -Now you're all set to clone this repository (note that adding ``--depth 1`` to your command as shown below will limit the amount of data transfered from github to your machine): +Now you're all set to clone this repository (note that adding ``--depth 1`` to your command as shown below will limit the amount of data transferred from GitHub to your machine): ``` git clone --depth 1 https://github.com/comorment/containers.git diff --git a/README.md b/README.md index 84ed0a6b..d3d139b4 100644 --- a/README.md +++ b/README.md @@ -11,19 +11,23 @@ The main documentation for COSGAP is hosted at [cosgap.rtfd.io](https://cosgap.r [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![Hadolint](https://github.com/comorment/containers/actions/workflows/docker.yml/badge.svg)](https://github.com/comorment/containers/actions/workflows/docker.yml) [![Flake8](https://github.com/comorment/containers/actions/workflows/python.yml/badge.svg)](https://github.com/comorment/containers/actions/workflows/python.yml) +[![Docker build "hello"](https://github.com/comorment/containers/actions/workflows/docker_build_hello.yml/badge.svg)](https://github.com/comorment/containers/actions/workflows/docker_build_hello.yml) +[![Docker build "python3"](https://github.com/comorment/containers/actions/workflows/docker_build_python3.yml/badge.svg)](https://github.com/comorment/containers/actions/workflows/docker_build_python3.yml) +[![Docker build "gwas"](https://github.com/comorment/containers/actions/workflows/docker_build_gwas.yml/badge.svg)](https://github.com/comorment/containers/actions/workflows/docker_build_gwas.yml) +[![Docker build "r"](https://github.com/comorment/containers/actions/workflows/docker_build_r.yml/badge.svg)](https://github.com/comorment/containers/actions/workflows/docker_build_r.yml) ## Information -The goal of this github repository () is to distribute software tools for statistical genetics analysis, alongside with their respective reference data and scripts ("analysis pipelines") to facilitate application of these tools. The scope of this project is currently limited to genome-wide association studies (GWAS) and post-GWAS statistical-genetics analyses, including polygenic scoring (PGS). This project builds on earlier work by [Tryggve consortium](https://neic.no/tryggve/), -with most recent major development done as part of the CoMorMent EU H2020 project ([comorment.eu](https://comorment.eu)). For more information see our [preprint](https://arxiv.org/abs/2212.14103) manuscript, [this presentation](https://www.youtube.com/watch?v=msegdR2vJZs) on PGC WWL meeting (Feb 9, 2024), or our online documentation [here](https://cosgap.readthedocs.io/en/latest/). +The goal of this GitHub repository () is to distribute software tools for statistical genetics analysis, alongside their respective reference data and scripts ("analysis pipelines") to facilitate the application of these tools. The scope of this project is currently limited to genome-wide association studies (GWAS) and post-GWAS statistical-genetics analyses, including polygenic scoring (PGS). This project builds on earlier work by [Tryggve consortium](https://neic.no/tryggve/), +with the most recent major development done as part of the CoMorMent EU H2020 project ([comorment.eu](https://comorment.eu)). For more information see our [preprint](https://arxiv.org/abs/2212.14103) manuscript, [this presentation](https://www.youtube.com/watch?v=msegdR2vJZs) on PGC WWL meeting (Feb 9, 2024), or our online documentation [here](https://cosgap.readthedocs.io/en/latest/). For an overview of available software, see [here](docs/README.md). -Most of these tools are packaged into singularity containers () and shared in the [singularity](https://github.com/comorment/containers/tree/main/singularity) folder of this repository. You can download individual containers using github's ``Download`` button, or clone the entire repository from command line as described in the [INSTALL.md](./INSTALL.md) file. +Most of these tools are packaged into singularity containers () and shared in the [singularity](https://github.com/comorment/containers/tree/main/singularity) folder of this repository. You can download individual containers using GitHub's ``Download`` button, or clone the entire repository from the command line as described in the [INSTALL.md](./INSTALL.md) file. Many of the tools require additional reference data provided in the [reference](https://github.com/comorment/containers/tree/main/reference) folder of this repository. Certain reference data can not be made publicly available, in which case we provide access instructions in a separate GitHub repository: -. This repository is private - please approach your contact within CoMorMent project to enable your access. +. This repository is private - please approach your contact within the CoMorMent project to enable your access. Description of containers and usage instructions are provided in the [docs](https://github.com/comorment/containers/tree/main/docs) folder. @@ -91,11 +95,11 @@ Note that this project will soon be renamed "COSGAP", and that the citation info ## Installation -See the [INSTALL.md](./INSTALL.md) file for installation instructions. +Please confer the [INSTALL.md](./INSTALL.md) file for installation instructions. ## Legacy -Earlier version (prior to April 2021) of all containers and refrence data was distributed on Google Drive. This is no longer the case, the folder on Google drive is no longer maintained. ALl containers and reference data are released through this repository. +Earlier versions (prior to April 2021) of all containers and reference data were distributed via Google Drive. This is no longer the case, the folder on Google Drive is no longer maintained. All containers and reference data are released through this repository. ## Source files @@ -114,7 +118,6 @@ make html # make html-documentation in $PWD/_build/html/ ``` The resulting file(s) ``$PWD/_build/html/index.html`` can be viewed in any web browser. - In order to make a pdf with the documentation, issue ``` diff --git a/docker/dockerfiles/gwas/Dockerfile b/docker/dockerfiles/gwas/Dockerfile index 276cd849..b0b8ad6a 100644 --- a/docker/dockerfiles/gwas/Dockerfile +++ b/docker/dockerfiles/gwas/Dockerfile @@ -2,7 +2,7 @@ FROM ubuntu:20.04 ENV TZ=Europe -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive # Essential tools WORKDIR /tmp diff --git a/docker/dockerfiles/hello/Dockerfile b/docker/dockerfiles/hello/Dockerfile index e614fb30..d7e0af1d 100644 --- a/docker/dockerfiles/hello/Dockerfile +++ b/docker/dockerfiles/hello/Dockerfile @@ -1,8 +1,8 @@ # demo container -FROM 'ubuntu:20.04' +FROM ubuntu:20.04 ENV TZ=Europe -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive # Essential Tools WORKDIR /tmp diff --git a/docker/dockerfiles/python3/Dockerfile b/docker/dockerfiles/python3/Dockerfile index a141107d..b5541848 100644 --- a/docker/dockerfiles/python3/Dockerfile +++ b/docker/dockerfiles/python3/Dockerfile @@ -1,8 +1,8 @@ # gwas container -FROM 'ubuntu:20.04' +FROM ubuntu:20.04 ENV TZ=Europe -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive # Essential tools WORKDIR /tmp diff --git a/docker/dockerfiles/r/Dockerfile b/docker/dockerfiles/r/Dockerfile index a8b60219..ff59c1de 100644 --- a/docker/dockerfiles/r/Dockerfile +++ b/docker/dockerfiles/r/Dockerfile @@ -2,7 +2,7 @@ FROM rocker/verse:4.0.5 ENV TZ=Europe -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive # Essential tools WORKDIR /tmp @@ -45,10 +45,10 @@ COPY /scripts/R/bioconductor.R . RUN Rscript bioconductor.R # GitHub distributed packages: -ARG GITHUB_PAT=foo -ENV GITHUB_TOKEN=$GITHUB_PAT COPY /scripts/R/github.R . -RUN Rscript github.R +RUN --mount=type=secret,id=github_pat \ + github_pat=$(cat /run/secrets/github_pat) \ + Rscript github.R # Misc. packages COPY /scripts/R/source.R . diff --git a/docker/scripts/R/github.R b/docker/scripts/R/github.R index e127944c..6d5ea086 100644 --- a/docker/scripts/R/github.R +++ b/docker/scripts/R/github.R @@ -1,7 +1,8 @@ url <- "https://packagemanager.posit.co/cran/__linux__/focal/2023-02-16" dependencies <- c('Depends', 'Imports', 'LinkingTo') upgrade <- 'default' -auth_token <- Sys.getenv("GITHUB_TOKEN") +auth_token <- Sys.getenv("github_pat") +cat("GitHub PAT length: ", nchar(auth_token), "\n") # GitHub packages w. Git SHA packages <- list( @@ -11,10 +12,18 @@ packages <- list( 'GenomicSEM/GenomicSEM' = 'bcbbaffff5767acfc5c020409a4dc54fbf07876b', 'jamesliley/cfdr' = 'ec5fddbd27c746a470eb827dc249a80194b231e8', 'jamesliley/cFDR-common-controls' = '9b923fea283e2373ee8effa2909620a1930004bd', - 'MRCIEU/gwasvcf' = '477b365da8522e9a47f3bce51993d5f36df49ceb', - 'MRCIEU/gwasglue' = 'c2d5660eed389e1a9b3e04406b88731d642243f1', + # gwasvcf deps: + 'MRCIEU/genetics.binaRies' = 'b0324f180476d80c43bba2ab026b72c5be426a92', 'MRCIEU/gwasglue2' = '5d4e35bad211299e95e25151972382a1d7b84092', + 'MRCIEU/gwasvcf' = '477b365da8522e9a47f3bce51993d5f36df49ceb', + # gwasglue deps: + 'rondolab/MR-PRESSO' = '3e3c92d7eda6dce0d1d66077373ec0f7ff4f7e87', + 'MRCIEU/ieugwasr' = '127d1ea5a6ead6fa6c037dcc44ec77d39f952f21', 'MRCIEU/TwoSampleMR' = 'c174107cfd9ba47cf2f780849a263f37ac472a0e', + 'WSpiller/RadialMR' = 'abe00170076284cb79ae711c96d3832da3879267', + 'gqi/MRMix' = '56afdb2bc96760842405396f5d3f02e60e305039', + 'stephenslab/susieR' = 'c0314a6113dfb54ea3817103ee01c027849f0eb7', + 'MRCIEU/gwasglue' = 'c2d5660eed389e1a9b3e04406b88731d642243f1', 'norment/normentR' = 'dfa1fbae9587db6c3613b0405df4f9cfa98ee0e1', 'psychgen/phenotools' = 'b744d927a1302d85152917f3802a2212093d588a', 'wouterpeyrot/CCGWAS' = 'ce9764da946189623a0164f156ad119773bc32f5' @@ -23,7 +32,7 @@ packages <- list( # install package from GitHub and quit with error if installation fails for (package in names(packages)) { ref <- packages[[package]] - + cat("Installing package ", package, " from GitHub with ref ", ref, "\n") tryCatch( { devtools::install_github(package, ref=ref, repos=url, dependencies=dependencies, upgrade=upgrade, auth_token=auth_token) diff --git a/docker/scripts/apt_get_essential.sh b/docker/scripts/apt_get_essential.sh index 266f2dd3..a3b21d74 100644 --- a/docker/scripts/apt_get_essential.sh +++ b/docker/scripts/apt_get_essential.sh @@ -12,17 +12,17 @@ apt-get update && apt-get install -y --no-install-recommends \ build-essential=12.8ubuntu1 \ bzip2=1.0.8-2 \ cmake=3.16.3-1ubuntu1.20.04.1 \ - curl=7.68.0-1ubuntu2.21 \ + curl=7.68.0-1ubuntu2.22 \ dos2unix=7.4.0-2 \ gdb=9.1-0ubuntu1 \ gfortran=4:9.3.0-1ubuntu2 \ - git=1:2.25.1-1ubuntu3.11 \ - less=551-1ubuntu0.1 \ + git=1:2.25.1-1ubuntu3.13 \ + less=551-1ubuntu0.3 \ libatlas-base-dev=3.10.3-8ubuntu7 \ - libcurl4-openssl-dev=7.68.0-1ubuntu2.21 \ + libcurl4-openssl-dev=7.68.0-1ubuntu2.22 \ libgomp1=10.5.0-1ubuntu1~20.04 \ libgsl-dev=2.5+dfsg-6+deb10u1build0.20.04.1 \ - libnss3=2:3.49.1-1ubuntu1.9 \ + libnss3=2:3.98-0ubuntu0.20.04.2 \ libpcre2-dev=10.34-7ubuntu0.1 \ libxt-dev=1:1.1.5-1 \ pandoc=2.5-3build2 \ @@ -34,12 +34,11 @@ apt-get update && apt-get install -y --no-install-recommends \ tar=1.30+dfsg-7ubuntu0.20.04.4 \ tofrodos=1.7.13+ds-4 \ unzip=6.0-25ubuntu1.1 \ - vim=2:8.1.2269-1ubuntu5.21 \ + vim=2:8.1.2269-1ubuntu5.23 \ wget=1.20.3-1ubuntu2 \ - zlib1g-dev=1:1.2.11.dfsg-2ubuntu1.5 \ - && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* + zlib1g-dev=1:1.2.11.dfsg-2ubuntu1.5 + +apt-get clean && rm -rf /var/lib/apt/lists/* # /usr/bin/python must exist for bgenix, qctool update-alternatives --install /usr/bin/python python /usr/bin/python3 10 diff --git a/docker/scripts/install_bcftools.sh b/docker/scripts/install_bcftools.sh index d9ae14f9..f1eebe9f 100644 --- a/docker/scripts/install_bcftools.sh +++ b/docker/scripts/install_bcftools.sh @@ -3,7 +3,7 @@ set -euo pipefail # deps apt-get update && apt-get install -y --no-install-recommends \ - libcurl4-gnutls-dev=7.68.0-1ubuntu2.21 \ + libcurl4-gnutls-dev=7.68.0-1ubuntu2.22 \ libperl-dev=5.30.0-9ubuntu0.5 \ && \ apt-get clean && \ diff --git a/docker/scripts/install_htslib.sh b/docker/scripts/install_htslib.sh index eccb1af1..5d7f01dd 100644 --- a/docker/scripts/install_htslib.sh +++ b/docker/scripts/install_htslib.sh @@ -5,9 +5,10 @@ set -euo pipefail apt-get update && apt-get install --no-install-recommends \ libbz2-dev=1.0.8-2 \ liblzma-dev=5.2.4-1ubuntu1.1 \ - libssl-dev=1.1.1f-1ubuntu2.20 \ - -y && \ - apt-get clean && \ + libssl-dev=1.1.1f-1ubuntu2.22 \ + -y + +apt-get clean && \ rm -rf /var/lib/apt/lists/* # build and install HTSlib diff --git a/docker/scripts/install_king.sh b/docker/scripts/install_king.sh index 2f20f67a..ad87bcbe 100644 --- a/docker/scripts/install_king.sh +++ b/docker/scripts/install_king.sh @@ -1,13 +1,6 @@ #!/bin/sh set -euo pipefail -# deps -apt-get update && apt-get install --no-install-recommends \ - libgomp1=10.3.0-1ubuntu1~20.04 \ - -y && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - # king VERSION="232" wget --no-check-certificate https://www.kingrelatedness.com/executables/Linux-king$VERSION.tar.gz && \