Skip to content

Commit

Permalink
Update operational code (#63)
Browse files Browse the repository at this point in the history
* update readme

* switch ci to toolbox

* update to viash 0.9.0-RC6

* edit keywords

* fix version
  • Loading branch information
rcannood authored Jun 21, 2024
1 parent ceef2ef commit 2aadd74
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 127 deletions.
111 changes: 2 additions & 109 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,114 +3,7 @@ name: Component Testing
on:
pull_request:
push:
branches: [ '**' ]

jobs:
run_ci_check_job:
runs-on: ubuntu-latest
outputs:
run_ci: ${{ steps.github_cli.outputs.check }}
steps:
- name: 'Check if branch has an existing pull request and the trigger was a push'
id: github_cli
run: |
pull_request=$(gh pr list -R ${{ github.repository }} -H ${{ github.ref_name }} --json url --state open --limit 1 | jq '.[0].url')
# If the branch has a PR and this run was triggered by a push event, do not run
if [[ "$pull_request" != "null" && "$GITHUB_REF_NAME" != "main" && "${{ github.event_name == 'push' }}" == "true" && "${{ !contains(github.event.head_commit.message, 'ci force') }}" == "true" ]]; then
echo "check=false" >> $GITHUB_OUTPUT
else
echo "check=true" >> $GITHUB_OUTPUT
fi
env:
GH_TOKEN: ${{ github.token }}

# phase 1
list:
needs: run_ci_check_job
runs-on: ubuntu-latest
if: ${{ needs.run_ci_check_job.outputs.run_ci == 'true' }}

outputs:
matrix: ${{ steps.set_matrix.outputs.matrix }}

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Get head git commit message
id: get_head_commit_message
run: echo "HEAD_COMMIT_MESSAGE=$(git show -s --format=%s ${{ github.event.pull_request.head.sha || github.sha }})" >> "$GITHUB_OUTPUT"

- uses: viash-io/viash-actions/setup@v5

- name: Check if all config can be parsed if there is no unicode support
run: |
LANG=C viash ns list > /dev/null
# see https://github.com/viash-io/viash/issues/654
# and https://github.com/viash-io/viash-actions/pull/27
# - name: Get changed files
# id: changed-files
# uses: tj-actions/changed-files@v42
# with:
# separator: ";"
# diff_relative: true
# - id: ns_list
# uses: viash-io/viash-actions/ns-list@v5
# with:
# platform: docker
# format: json
# query: ^(?!workflows)
# - id: ns_list_filtered
# uses: viash-io/viash-actions/project/detect-changed-components@v5
# with:
# input_file: "${{ steps.ns_list.outputs.output_file }}"
# - id: set_matrix
# run: |
# echo "matrix=$(jq -c '[ .[] |
# {
# "name": (.functionality.namespace + "/" + .functionality.name),
# "config": .info.config,
# "dir": .info.config | capture("^(?<dir>.*\/)").dir
# }
# ]' ${{ contains(steps.get_head_commit_message.outputs.HEAD_COMMIT_MESSAGE, 'ci force') && steps.ns_list.outputs.output_file || steps.ns_list_filtered.outputs.output_file }} )" >> $GITHUB_OUTPUT


- id: set_matrix
run: |
viash ns list --format json > ns_list.json
echo "matrix=$(jq -c '[ .[] |
{
"name": (.namespace + "/" + .name),
"config": .build_info.config,
"dir": .build_info.config | capture("^(?<dir>.*\/)").dir
}
]' ns_list.json )" >> $GITHUB_OUTPUT
# phase 2
viash_test:
needs: list
if: ${{ needs.list.outputs.matrix != '[]' && needs.list.outputs.matrix != '' }}
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
component: ${{ fromJson(needs.list.outputs.matrix) }}

steps:
# Remove unnecessary files to free up space. Otherwise, we get 'no space left on device.'
- uses: data-intuitive/reclaim-the-bytes@v2

- uses: actions/checkout@v4

- uses: viash-io/viash-actions/setup@v5

- name: Run test
timeout-minutes: 30
run: |
viash test \
"${{ matrix.component.config }}" \
--cpus 2 \
--memory "6gb"
test:
uses: viash-hub/toolbox/.github/workflows/test.yaml@main
30 changes: 21 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,24 @@
# Base repository for reusable Viash components


This repository is a collection of reproducible and reusable Viash
components.
# biobox

[![ViashHub](https://img.shields.io/badge/ViashHub-biobox-7a4baa.png)](https://web.viash-hub.com/packages/biobox)
[![GitHub](https://img.shields.io/badge/GitHub-viash--hub%2Fbiobox-blue.png)](https://github.com/viash-hub/biobbox)
[![GitHub
License](https://img.shields.io/github/license/viash-hub/biobox.png)](https://github.com/viash-hub/biobbox/blob/main/LICENSE)
[![GitHub
Issues](https://img.shields.io/github/issues/viash-hub/biobox.png)](https://github.com/viash-hub/biobox/issues)
[![Viash
version](https://img.shields.io/badge/Viash-v0.9.0--RC6-blue)](https://viash.io)

A collection of bioinformatics tools for working with sequence data.

## Objectives

- **Reusability**: Facilitating the use of components across various
projects and contexts.
- **Reproducibility**: Guaranteeing that bioinformatics analyses can be
reliably replicated.
- **Reproducibility**: Ensuring that components are reproducible and can
be easily shared.
- **Best Practices**: Adhering to established standards in software
development and bioinformatics.

Expand Down Expand Up @@ -43,18 +52,21 @@ contribute a component to this repository.
12. Create test script
13. Create a `/var/software_versions.txt` file

See the [CONTRIBUTING](CONTRIBUTING.md) file for more details.
See the
[CONTRIBUTING](https://github.com/viash-hub/biobbox/blob/main/CONTRIBUTING.md)
file for more details.

## Support and Community

For support, questions, or to join our community:

- **Issues**: Submit questions or issues via the [GitHub issue
tracker](https://github.com/viash-hub/base/issues).
tracker](https://github.com/viash-hub/biobox/issues).
- **Discussions**: Join our discussions via [GitHub
Discussions](https://github.com/viash-hub/base/discussions).
Discussions](https://github.com/viash-hub/biobbox/discussions).

## License

This repository is licensed under an MIT license. See the
[LICENSE](LICENSE) file for details.
[LICENSE](https://github.com/viash-hub/biobbox/blob/main/LICENSE) file
for details.
25 changes: 18 additions & 7 deletions README.qmd
Original file line number Diff line number Diff line change
@@ -1,14 +1,25 @@
---
title: Base repository for reusable Viash components
format: gfm
---
```{r setup, include=FALSE}
project <- yaml::read_yaml("_viash.yaml")
license <- paste0(project$links$repository, "/blob/main/LICENSE")
contributing <- paste0(project$links$repository, "/blob/main/CONTRIBUTING.md")
```
# `r project$name`

[![ViashHub](https://img.shields.io/badge/ViashHub-`r project$name`-7a4baa)](https://web.viash-hub.com/packages/`r project$name`)
[![GitHub](https://img.shields.io/badge/GitHub-viash--hub%2F`r project$name`-blue)](`r project$links$repository`)
[![GitHub License](https://img.shields.io/github/license/viash-hub/`r project$name`)](`r license`)
[![GitHub Issues](https://img.shields.io/github/issues/viash-hub/`r project$name`)](`r project$links$issue_tracker`)
[![Viash version](https://img.shields.io/badge/Viash-v`r gsub("-", "--", project$viash_version)`-blue)](https://viash.io)

This repository is a collection of reproducible and reusable Viash components.
`r project$description`

## Objectives

- **Reusability**: Facilitating the use of components across various projects and contexts.
- **Reproducibility**: Guaranteeing that bioinformatics analyses can be reliably replicated.
- **Reproducibility**: Ensuring that components are reproducible and can be easily shared.
- **Best Practices**: Adhering to established standards in software development and bioinformatics.

## Contributing
Expand Down Expand Up @@ -37,15 +48,15 @@ knitr::asis_output(
)
```

See the [CONTRIBUTING](CONTRIBUTING.md) file for more details.
See the [CONTRIBUTING](`r contributing`) file for more details.


## Support and Community

For support, questions, or to join our community:

- **Issues**: Submit questions or issues via the [GitHub issue tracker](https://github.com/viash-hub/base/issues).
- **Discussions**: Join our discussions via [GitHub Discussions](https://github.com/viash-hub/base/discussions).
- **Issues**: Submit questions or issues via the [GitHub issue tracker](`r project$links$issue_tracker`).
- **Discussions**: Join our discussions via [GitHub Discussions](`r project$links$repository`/discussions).

## License
This repository is licensed under an MIT license. See the [LICENSE](LICENSE) file for details.
This repository is licensed under an MIT license. See the [LICENSE](`r license`) file for details.
4 changes: 2 additions & 2 deletions _viash.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ name: biobox
description: |
A collection of bioinformatics tools for working with sequence data.
license: MIT
keywords: [bioinformatics, sequence, alignment, variant calling, dna, rna]
keywords: [bioinformatics, modules, sequencing]
links:
issue_tracker: https://github.com/viash-hub/biobox/issues
repository: https://github.com/viash-hub/biobbox

viash_version: 0.9.0-RC3
viash_version: 0.9.0-RC6

config_mods: |
.requirements.commands := ['ps']

0 comments on commit 2aadd74

Please sign in to comment.