Skip to content

Workflow file for this run

name: SPAdes basic tests
on:
workflow_dispatch:
push:
branches:
- master
- main
- next
tags:
- '*'
pull_request:
env:
BUILD_TYPE: Release
BUILD_DIR: ${{github.workspace}}/build
INSTALL_DIR: ${{github.workspace}}/spades
SRC_DIR: ${{github.workspace}}/src
PKG: SPAdes-*-Linux
jobs:
build:
runs-on: self-hosted
name: '🚧 Build SPAdes'
steps:
- name: '🧹 Cleanup'
run: >
set -e &&
shopt -s dotglob &&
rm -rf *
- name: '🧰 Checkout'
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: 'βš™οΈ Install ccache'
uses: hendrikmuhs/[email protected]
with:
variant: sccache
key: sccache-${{env.BUILD_TYPE}}
- name: 'βš™οΈ Configure CMake'
run: >
cmake
-B ${{env.BUILD_DIR}}
-S ${{env.SRC_DIR}}
-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache
-DCMAKE_INSTALL_PREFIX=${{env.INSTALL_DIR}}
- name: '🚧 Build'
run: >
cmake
--build ${{env.BUILD_DIR}}
-j16
-t package include_test debruijn_test
- name: 'πŸ“¦ Package'
uses: actions/upload-artifact@v3
with:
name: build-artifacts
path: |
${{env.BUILD_DIR}}/${{env.PKG}}.tar.gz
${{env.BUILD_DIR}}/bin/debruijn_test
${{env.BUILD_DIR}}/bin/include_test
spades-1k-checks:
name: 'E. coli 1k smoke checks'
runs-on: self-hosted
needs: build
steps:
- name: '🧹 Cleanup'
run: >
set -e &&
shopt -s dotglob &&
rm -rf *
- name: 'πŸ“¦ Download package'
uses: actions/download-artifact@v3
with:
name: build-artifacts
path: ${{env.INSTALL_DIR}}
- name: 'πŸ“¦ Unpack package'
working-directory: ${{env.INSTALL_DIR}}
run: >
tar -zxf ${{env.PKG}}.tar.gz
- name: '1k multi-cell'
run: >
${{env.INSTALL_DIR}}/${{env.PKG}}/bin/spades.py --test
- name: '1k single-cell'
run: >
${{env.INSTALL_DIR}}/${{env.PKG}}/bin/spades.py --sc --test
- name: '1k meta'
run: >
${{env.INSTALL_DIR}}/${{env.PKG}}/bin/metaspades.py --test
- name: '1k plasmid'
run: >
${{env.INSTALL_DIR}}/${{env.PKG}}/bin/plasmidspades.py --test
- name: '1k rna'
run: >
${{env.INSTALL_DIR}}/${{env.PKG}}/bin/rnaspades.py --test
- name: '1k corona'
run: >
${{env.INSTALL_DIR}}/${{env.PKG}}/bin/coronaspades.py --test
spades-unittests:
name: 'SPAdes unittests'
runs-on: self-hosted
needs: build
steps:
- name: '🧹 Cleanup'
run: >
set -e &&
shopt -s dotglob &&
rm -rf *
- name: '🧰 Checkout'
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: 'πŸ“¦ Download package'
uses: actions/download-artifact@v3
with:
name: build-artifacts
path: ${{env.BUILD_DIR}}
- name: 'πŸ”Ž Include tests'
working-directory: ${{github.workspace}}
run: >
chmod +x ${{env.BUILD_DIR}}/bin/include_test &&
${{env.BUILD_DIR}}/bin/include_test
- name: 'πŸ”Ž De-Bruijn tests'
working-directory: ${{github.workspace}}
run: >
chmod +x ${{env.BUILD_DIR}}/bin/debruijn_test &&
${{env.BUILD_DIR}}/bin/debruijn_test