-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #6 from sunbeam-labs/5-containerize-and-version
Containerize and version
- Loading branch information
Showing
12 changed files
with
231 additions
and
717 deletions.
There are no files selected for viewing
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
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_coassembly | ||
|
||
- name: Build and push Docker image | ||
uses: docker/build-push-action@v5 | ||
with: | ||
context: . | ||
file: envs/sbx_annotation.Dockerfile | ||
push: true | ||
tags: sunbeamlabs/sbx_coassembly:${{ env.SBX_VER }} | ||
labels: ${{ steps.meta.outputs.labels }} |
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
name: Tests | ||
|
||
on: | ||
pull_request: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
run-tests: | ||
uses: ./.github/workflows/tests.yml | ||
secrets: inherit | ||
|
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
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/* |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,36 +1,73 @@ | ||
name: Tests | ||
|
||
on: | ||
pull_request: | ||
branches: [ master, main ] | ||
push: | ||
branches: [ master, main ] | ||
workflow_call: | ||
workflow_dispatch: | ||
schedule: | ||
- cron: "0 13 * * 1" | ||
|
||
jobs: | ||
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@v3 | ||
uses: actions/checkout@v4 | ||
|
||
- name: Test with Sunbeam | ||
uses: sunbeam-labs/sbx_test_action@v0 | ||
with: | ||
sunbeam-version: 'dev' | ||
install-options: '-m' | ||
extension-name: 'sunbeam-labs/sbx_coassembly' | ||
extension-branch-name: ${{ github.head_ref }} | ||
|
||
- name: Dump Logs | ||
shell: bash | ||
if: always() | ||
run: tail -n +1 logs/* | ||
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/* | ||
#- name: Dump Stats | ||
# shell: bash | ||
# if: always() | ||
# run: cat stats/* |
Oops, something went wrong.