Change master to main in docs and workflows #137
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Test | |
on: | |
push: | |
branches: | |
- "main" | |
- "staging" | |
pull_request: | |
branches: | |
- "*" | |
env: | |
PROGRAM_NAME: pasv | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- macos-11 | |
- ubuntu-20.04 | |
ocaml-compiler: | |
- 4.14.1 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- run: echo "LOCAL_PATH=$HOME/.local/bin" >> $GITHUB_ENV | |
- run: echo "CLUSTALO_EXE=$LOCAL_PATH/clustalo" >> $GITHUB_ENV | |
- name: Setup path | |
run: | | |
mkdir -p "$LOCAL_PATH" | |
echo "$LOCAL_PATH" >> $GITHUB_PATH | |
- name: Download Clustal Omega (Linux) | |
run: | | |
\curl -L http://www.clustal.org/omega/clustalo-1.2.4-Ubuntu-x86_64 > "$CLUSTALO_EXE" | |
if: matrix.os == 'ubuntu-20.04' | |
- name: Download Clustal Omega (MacOS) | |
# 1.2.4 isn't available for MacOS | |
run: | | |
\curl -L http://www.clustal.org/omega/clustal-omega-1.2.3-macosx > "$CLUSTALO_EXE" | |
if: matrix.os == 'macos-11' | |
- name: Setup and check Clustal Omega | |
run: | | |
chmod 755 "$CLUSTALO_EXE" | |
clustalo --version | |
- name: Download MAFFT | |
run: | | |
\curl -L https://mafft.cbrc.jp/alignment/software/mafft-7.481-without-extensions-src.tgz \ | |
| tar xz | |
- name: Install MAFFT | |
run: cd mafft-*/core/ && make clean && make && sudo make install | |
- name: Download HMMER | |
run: \curl -L http://eddylab.org/software/hmmer/hmmer-3.3.2.tar.gz | tar xz | |
- name: Install HMMER | |
run: cd hmmer-3.3.2 && ./configure && make && sudo make install | |
- name: Use OCaml ${{ matrix.ocaml-compiler }} | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
dune-cache: ${{ matrix.os != 'macos-11' }} | |
cache-prefix: v1-${{ matrix.os }} | |
- name: Install OCaml deps (Ubuntu) | |
run: opam update && opam install --locked . --deps-only --with-doc --with-test | |
if: matrix.os == 'ubuntu-20.04' | |
- name: Install OCaml deps (MacOS) | |
run: opam update && opam install --locked . --jobs 1 --deps-only --with-doc --with-test | |
if: matrix.os == 'macos-11' | |
- name: Test (Ubuntu) | |
run: opam exec -- make test | |
if: matrix.os == 'ubuntu-20.04' | |
- name: Test (MacOS) | |
run: opam exec -- make test_mac | |
if: matrix.os == 'macos-11' | |
- run: opam exec -- make send_coverage | |
if: matrix.ocaml-compiler == '4.12.0' | |
env: | |
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build (Ubuntu) | |
run: opam exec -- make build_release | |
if: matrix.os == 'ubuntu-20.04' | |
- name: Build (MacOS) | |
run: opam exec -- make build_release_mac | |
if: matrix.os == 'macos-11' | |
- name: Upload the build artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ matrix.os }}-${{ matrix.ocaml-compiler }}-${{ env.PROGRAM_NAME }} | |
path: _build/install/default/bin/${{ env.PROGRAM_NAME }} |