Skip to content

Commit

Permalink
Add draft release workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
asl committed Apr 29, 2024
1 parent 2b71e92 commit 7a183f7
Showing 1 changed file with 147 additions and 0 deletions.
147 changes: 147 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
name: SPAdes basic tests

on:
workflow_dispatch:
push:
tags:
- '*'
paths-ignore:
- 'docs/**'

env:
BUILD_TYPE: Release
BUILD_DIR: ${{github.workspace}}/build
INSTALL_DIR: ${{github.workspace}}/spades
SRC_DIR: ${{github.workspace}}/src
PKG: SPAdes-*-Linux

jobs:
# We build inside a ManyLinux container, but run checks outside
build:
runs-on: self-hosted
# FIXME: Decide what to do with aarch64 :(
container: quay.io/pypa/manylinux_2_28_x86_64
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

0 comments on commit 7a183f7

Please sign in to comment.