From 98c878e24198cfcf716e8a836098ff576ef12360 Mon Sep 17 00:00:00 2001 From: Lauren Coombe Date: Thu, 3 Oct 2024 15:26:39 -0700 Subject: [PATCH] CI fixes (#484) * Fixes for macOS CI - install conda using miniforge * Troubleshooting * Add tests for clang 15, 16 * Clean-up, add flags for newer clang --- azure-pipelines.yml | 101 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 78 insertions(+), 23 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index ea62217e..7a7789ca 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -33,13 +33,20 @@ jobs: pool: vmImage: 'macOS-latest' steps: - - script: echo "##vso[task.prependpath]$CONDA/bin" - displayName: Add conda to PATH + - script: | + mkdir -p ~/miniforge3 + curl -L https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-x86_64.sh -o ~/miniforge3/miniforge.sh + bash ~/miniforge3/miniforge.sh -b -u -p ~/miniforge3 + rm -rf ~/miniforge3/miniforge.sh + ~/miniforge3/bin/conda init bash + ~/miniforge3/bin/conda init zsh + export CONDA=$(realpath ~/miniforge3/bin) + echo "##vso[task.prependpath]$CONDA" + displayName: Install conda - script: conda create --yes --quiet --name abyss_CI displayName: Create Anaconda environment - script: | source activate abyss_CI - conda install --yes -c conda-forge mamba python=3.9 mamba install --yes -c conda-forge -c bioconda compilers make boost-cpp sparsehash openmpi automake perl pandoc meson ninja btllib displayName: Install dependencies - script: | @@ -50,68 +57,116 @@ jobs: displayName: Compiling ABySS - job: - displayName: mac_clang14 + displayName: mac_clang16 pool: vmImage: 'macOS-latest' steps: - - script: echo "##vso[task.prependpath]$CONDA/bin" - displayName: Add conda to PATH + - script: | + mkdir -p ~/miniforge3 + curl -L https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-x86_64.sh -o ~/miniforge3/miniforge.sh + bash ~/miniforge3/miniforge.sh -b -u -p ~/miniforge3 + rm -rf ~/miniforge3/miniforge.sh + ~/miniforge3/bin/conda init bash + ~/miniforge3/bin/conda init zsh + export CONDA=$(realpath ~/miniforge3/bin) + echo "##vso[task.prependpath]$CONDA" + displayName: Install conda - script: conda create --yes --quiet --name abyss_CI displayName: Create Anaconda environment - script: | source activate abyss_CI - conda install --yes -c conda-forge mamba python=3.9 - mamba install --yes -c conda-forge -c bioconda compilers=1.5.2 make boost-cpp sparsehash openmpi automake perl pandoc btllib 'llvm-openmp<17.0.0' 'libcxx<17.0.0' + mamba install --yes -c conda-forge -c bioconda compilers=1.7.0 make boost-cpp sparsehash openmpi automake perl pandoc btllib 'llvm-openmp<17.0.0' 'libcxx<17.0.0' displayName: Install dependencies - script: | source activate abyss_CI ./autogen.sh ./configure - make -j12 distcheck - displayName: Compiling ABySS + make -j12 distcheck AM_CXXFLAGS=-Wno-error=unused-but-set-variable + displayName: Compiling ABySS with clang 16 - job: - displayName: mac_clang13 + displayName: mac_clang15 pool: vmImage: 'macOS-latest' steps: - - script: echo "##vso[task.prependpath]$CONDA/bin" - displayName: Add conda to PATH + - script: | + mkdir -p ~/miniforge3 + curl -L https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-x86_64.sh -o ~/miniforge3/miniforge.sh + bash ~/miniforge3/miniforge.sh -b -u -p ~/miniforge3 + rm -rf ~/miniforge3/miniforge.sh + ~/miniforge3/bin/conda init bash + ~/miniforge3/bin/conda init zsh + export CONDA=$(realpath ~/miniforge3/bin) + echo "##vso[task.prependpath]$CONDA" + displayName: Install conda - script: conda create --yes --quiet --name abyss_CI displayName: Create Anaconda environment - script: | source activate abyss_CI - conda install --yes -c conda-forge mamba python=3.9 - mamba install --yes -c conda-forge -c bioconda compilers=1.4.2 make boost-cpp sparsehash openmpi automake perl btllib pandoc 'llvm-openmp<17.0.0' 'libcxx<17.0.0' + mamba install --yes -c conda-forge -c bioconda compilers=1.6.0 make boost-cpp sparsehash openmpi automake perl pandoc btllib 'llvm-openmp<17.0.0' 'libcxx<17.0.0' displayName: Install dependencies - script: | source activate abyss_CI ./autogen.sh ./configure - make -j12 distcheck - displayName: Compiling ABySS with clang 13 + make -j12 distcheck AM_CXXFLAGS=-Wno-error=unused-but-set-variable + displayName: Compiling ABySS with clang 15 - job: - displayName: mac_clang12 + displayName: mac_clang14 pool: vmImage: 'macOS-latest' steps: - - script: echo "##vso[task.prependpath]$CONDA/bin" - displayName: Add conda to PATH + - script: | + mkdir -p ~/miniforge3 + curl -L https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-x86_64.sh -o ~/miniforge3/miniforge.sh + bash ~/miniforge3/miniforge.sh -b -u -p ~/miniforge3 + rm -rf ~/miniforge3/miniforge.sh + ~/miniforge3/bin/conda init bash + ~/miniforge3/bin/conda init zsh + export CONDA=$(realpath ~/miniforge3/bin) + echo "##vso[task.prependpath]$CONDA" + displayName: Install conda - script: conda create --yes --quiet --name abyss_CI displayName: Create Anaconda environment - script: | source activate abyss_CI - conda install --yes -c conda-forge mamba python=3.9 - mamba install --yes -c conda-forge -c bioconda compilers=1.4.0 make boost-cpp sparsehash openmpi automake perl pandoc llvm-openmp btllib 'llvm-openmp<17.0.0' 'libcxx<17.0.0' + mamba install --yes -c conda-forge -c bioconda compilers=1.5.2 make boost-cpp sparsehash openmpi automake perl pandoc btllib 'llvm-openmp<17.0.0' 'libcxx<17.0.0' displayName: Install dependencies - script: | source activate abyss_CI ./autogen.sh ./configure make -j12 distcheck - displayName: Compiling ABySS with clang 12 + displayName: Compiling ABySS with clang 14 +- job: + displayName: mac_clang13 + pool: + vmImage: 'macOS-latest' + steps: + - script: | + mkdir -p ~/miniforge3 + curl -L https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-x86_64.sh -o ~/miniforge3/miniforge.sh + bash ~/miniforge3/miniforge.sh -b -u -p ~/miniforge3 + rm -rf ~/miniforge3/miniforge.sh + ~/miniforge3/bin/conda init bash + ~/miniforge3/bin/conda init zsh + export CONDA=$(realpath ~/miniforge3/bin) + echo "##vso[task.prependpath]$CONDA" + displayName: Install conda + - script: conda create --yes --quiet --name abyss_CI + displayName: Create Anaconda environment + - script: | + source activate abyss_CI + mamba install --yes -c conda-forge -c bioconda compilers=1.4.2 make boost-cpp sparsehash openmpi automake perl btllib pandoc 'llvm-openmp<17.0.0' 'libcxx<17.0.0' + displayName: Install dependencies + - script: | + source activate abyss_CI + ./autogen.sh + ./configure + make -j12 distcheck + displayName: Compiling ABySS with clang 13 - job: linux_gcc12 pool: