Skip to content

Commit

Permalink
Merge pull request #3 from sunbeam-labs/2-update-extension
Browse files Browse the repository at this point in the history
Update extension
  • Loading branch information
Ulthran authored Aug 6, 2024
2 parents 3ed0e5d + b7ceab8 commit a60ffb9
Show file tree
Hide file tree
Showing 18 changed files with 124,013 additions and 31 deletions.
42 changes: 42 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Push to DockerHub

on:
workflow_call:

workflow_dispatch:

jobs:
build-and-push-to-dockerhub:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Get sbx version
shell: bash
run: |
SBX_VER=$(cat VERSION)
echo "SBX_VER=$SBX_VER" >> $GITHUB_ENV
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: sunbeamlabs/sbx_vsearch

- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
file: envs/sbx_vsearch_env.Dockerfile
push: true
tags: sunbeamlabs/sbx_vsearch:${{ env.SBX_VER }}
labels: ${{ steps.meta.outputs.labels }}
11 changes: 11 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: Tests

on:
pull_request:
branches: [ master, main ]

jobs:
run-tests:
uses: ./.github/workflows/tests.yml
secrets: inherit

79 changes: 79 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: Release

on:
release:
types: [published]

workflow_dispatch:

jobs:
run-tests:
uses: ./.github/workflows/tests.yml
secrets: inherit

check-version:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Get sbx version
shell: bash
run: |
SBX_VER=$(cat VERSION)
echo "SBX_VER=$SBX_VER" >> $GITHUB_ENV
- id: get_version
uses: battila7/get-version-action@v2

- name: Check version
shell: bash
run: |
RELEASE_VERSION=${{ steps.get_version.outputs.version-without-v }}
echo "Release version: ${RELEASE_VERSION}"
echo "Sbx version: ${{ env.SBX_VER }}"
if [[ $RELEASE_VERSION == ${{ env.SBX_VER }} ]]; then
echo "Versions match, continuing..."
else
echo "Versions don't match, exiting..."
exit 1
fi
push-to-dockerhub:
uses: ./.github/workflows/docker.yml
secrets: inherit
needs:
- run-tests
- check-version

test-apptainer:
name: Apptainer Test
runs-on: ubuntu-latest
needs: push-to-dockerhub

steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Set test env
run: echo "SUNBEAM_TEST_PROFILE=apptainer" >> $GITHUB_ENV

- uses: eWaterCycle/setup-apptainer@v2
with:
apptainer-version: 1.1.2

- name: Test with Sunbeam
uses: sunbeam-labs/sbx_test_action@v1
with:
test-directory: ".tests/e2e/"

- name: Dump Logs
shell: bash
if: always()
run: tail -n +1 logs/*

- name: Dump Stats
shell: bash
if: always()
run: cat stats/*
73 changes: 73 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Tests

on:
push:
branches: [ master, main ]
workflow_call:
workflow_dispatch:
schedule:
- cron: "0 13 * * 1"

jobs:
lint:
name: Lint Code
runs-on: ubuntu-latest

steps:
- name: Checkout Code
uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: 3.12

- name: Install Dependencies
run: pip install black snakefmt

- name: Run Linter
run: |
black --check .
snakefmt --check *.smk
test-unit:
name: Run Extension Unit Tests
runs-on: ubuntu-latest

steps:
- name: Checkout Code
uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: 3.12

- name: Install Dependencies
run: pip install pytest

- name: Run Unit Tests
run: true #pytest .tests/unit/
# This'll require having a lib within scripts with internal tests

test-e2e:
name: Test Extension with Sunbeam
runs-on: ubuntu-latest
needs:
- test-unit
- lint

steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Test with Sunbeam
uses: sunbeam-labs/sbx_test_action@v1

#- name: Dump Logs
# shell: bash
# if: always()
# run: tail -n +1 logs/*

#- name: Dump Stats
# shell: bash
# if: always()
# run: cat stats/*
Binary file added .tests/data/reads/LONG_R1.fastq.gz
Binary file not shown.
Binary file added .tests/data/reads/LONG_R2.fastq.gz
Binary file not shown.
Binary file added .tests/data/reads/SHORT_R1.fastq.gz
Binary file not shown.
Binary file added .tests/data/reads/SHORT_R2.fastq.gz
Binary file not shown.
Loading

0 comments on commit a60ffb9

Please sign in to comment.