Skip to content

Commit

Permalink
merged main
Browse files Browse the repository at this point in the history
  • Loading branch information
reece committed Nov 13, 2023
2 parents 00d8cda + 48958d7 commit 7ef1a79
Show file tree
Hide file tree
Showing 29 changed files with 975 additions and 441 deletions.
35 changes: 35 additions & 0 deletions .github/labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
- name: "bug"
color: "d73a4a"
description: "Something isn't working"

- name: "documentation"
color: "0075ca"
description: "Improvements or additions to documentation"

- name: "duplicate"
color: "cfd3d7"
description: "This issue or pull request already exists"

- name: "enhancement"
color: "a2eeef"
description: "New feature or request"

- name: "good first issue"
color: "7057ff"
description: "Good for newcomers"

- name: "help wanted"
color: "008672"
description: "Extra attention is needed"

- name: "invalid"
color: "e4e669"
description: "This doesn't seem right"

- name: "question"
color: "d876e3"
description: "Further information is requested"

- name: "wontfix"
color: "ffffff"
description: "This will not be worked on"
39 changes: 0 additions & 39 deletions .github/workflows/cqa.yml

This file was deleted.

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

on:
push:
branches:
- 'main'
paths:
- '.github/labels.yml'
- '.github/workflows/labels.yml'

jobs:
labeler:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Run Labeler
uses: crazy-max/ghaction-github-labeler@v4
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
yaml-file: .github/labels.yml
exclude: |
help*
*issue
111 changes: 111 additions & 0 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
name: Python package

on:
push:

jobs:
# cqa:
# runs-on: ubuntu-latest

# steps:
# - uses: actions/checkout@v3

# - name: Set up Python
# uses: actions/setup-python@v4
# with:
# python-version: "3.10"
# cache: pip
# cache-dependency-path: '**/setup.cfg'

# - name: Install test dependencies
# run: |
# python -m pip install --upgrade pip
# pip install --use-deprecated=legacy-resolver -e .[dev]

# - name: Lint with flake8
# run: |
# # stop the build if there are Python syntax errors or undefined names
# flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
# flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics

# - name: Format check with isort
# run: |
# isort --check src

# - name: Format check with black
# run: |
# black --check src

# - name: Security check with bandit
# run: |
# bandit -ll -r src

test:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]

steps:
- name: Install packages
run: |
sudo apt install libhts-dev libhts3 libhtscodecs-dev libhtscodecs2 tabix
- uses: actions/checkout@v3

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: '**/setup.cfg'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
make develop
- name: Test with pytest
run: |
make test
deploy:
needs:
# - cqa
- test
runs-on: ubuntu-latest

steps:
- name: Environment
run: |
echo "::group::Environment info"
echo github.event_name = ${{ github.event_name }}
echo refs = ${{ github.ref }}
echo tags = ${{ startsWith(github.ref, 'refs/tags') }}
echo "::endgroup::"
- uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
cache: pip
cache-dependency-path: '**/setup.cfg'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build twine
- name: Build package
run: python -m build

- name: Publish package
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
24 changes: 24 additions & 0 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# https://github.com/actions/stale

name: 'Close stale issues and PRs'
on:
schedule:
- cron: '1 1 * * *'

jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v8
with:
days-before-issue-stale: 30
days-before-issue-close: 7
stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days.'
close-issue-message: 'This issue was closed because it has been stalled for 7 days with no activity.'

days-before-pr-stale: 30
days-before-pr-close: 7
stale-pr-message: 'This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days.'
close-pr-message: 'This PR was closed because it has been stalled for 7 days with no activity.'

exempt-all-pr-assignees: true
122 changes: 17 additions & 105 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,110 +1,22 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.bak
*.egg

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/

# Translations
*.mo
*.pot

# Django stuff:
*.egg-info
*.log
local_settings.py

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# IPython Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# dotenv
.env

# virtualenv
venv/
ENV/

# Spyder project settings
.spyderproject

# Rope project settings
.ropeproject

# PyCharm
.idea

*~
*.bak
*.manifest
*.orig
doc/_build
*.sqlite3
*~
.cache
.coverage
.eggs
archive
misc/docker
.pytest_cache

doc/changelog/*/.tags
doc/changelog/*/.tags.mk
doc/changelog/*/hg-git-remap.pl
.idea
.ipynb_checkpoints
.tox
.vscode


.tags
.tags.mk
__pycache__
archive
build
dist
docs/_build
nosetests.xml
venv
27 changes: 27 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: SeqRepo
type: software
authors:
- given-names: Reece K.
family-names: Hart
- given-names: Andreas
family-names: Prlić
repository-code: 'https://github.com/biocommons/biocommons.seqrepo'
license: Apache-2.0

preferred-citation:
type: article
title: "SeqRepo: A system for managing local collections of biological sequences"
authors:
- family-names: "Hart"
given-names: "Reece K."
- family-names: "Prlić"
given-names: "Andreas"
doi: "10.1371/journal.pone.0239883"
journal: "PLoS One"
year: 2020
month: 12
volume: 15
issue: 12
start: "e0239883"
Loading

0 comments on commit 7ef1a79

Please sign in to comment.