Skip to content

Commit

Permalink
fix: implementing release-please (#30)
Browse files Browse the repository at this point in the history
  • Loading branch information
holtgrewe committed Feb 22, 2023
1 parent 2e7980d commit 2076440
Show file tree
Hide file tree
Showing 45 changed files with 2,149 additions and 1,697 deletions.
103 changes: 84 additions & 19 deletions .github/workflows/ci.yml
@@ -1,42 +1,107 @@
name: CI

on: [push, pull_request]
on:
push:
branches:
- main
pull_request:
branches_ignore: []

jobs:
build:
cancel-previous:
runs-on: ubuntu-latest
if: github.ref != 'refs/heads/main'
steps:
- uses: khan/pull-request-workflow-cancel@1.0.0
with:
workflows: "main.yml"
env:
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'

linting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1

- name: Install Python
uses: actions/setup-python@v2
with:
python-version: "3.8"

- name: Install dependencies
run: |
pip install -r requirements/test.txt
pip freeze
- name: Run linting tools
run: |
make lint
- name: Comment PR
if: github.event_name == 'pull_request' && failure()
uses: marocchino/sticky-pull-request-comment@v1.1.0
with:
message: |
- Please format your Python code with [black](https://black.readthedocs.io): `make black`
- Please organize your imports [isorts](https://isort.readthedocs.io): `make isort`
- Please ensure that your code passes [flake8](https://flake8.pycqa.org/en/latest/): `make flake8`
You can trigger all lints locally by running `make lint`
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

sphinx-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1

- name: Install Python
uses: actions/setup-python@v2
with:
python-version: "3.8"

- name: Install dependencies
run: |
pip install -r requirements/dev.txt
pip freeze
- name: Build documentation
run: |
cd docs
make html
testing:
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.7"
- "3.8"
- "3.9"
- "3.10"

- "3.11"
needs: linting
steps:
- name: Install Python via conda.
uses: s-weigand/setup-conda@v1
- name: Install Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
conda-channels: defaults,bioconda,conda-forge

- name: Checkout repository
uses: actions/checkout@v2
with:
lfs: true
- name: Install test dependencies via pip
run: pip install -r requirements/test.txt
fetch-depth: 0

- name: Install dependencies
run: pip install -r requirements/test.txt; pip install --ignore-installed py

- name: Run tests
run: pytest
env:
DIFF_MAIN: ${{ github.event_name == 'pull_request' }}
DIFF_LAST_COMMIT: ${{ github.ref == 'refs/heads/main' }}

- name: Create text report
run: coverage report
- name: Create XML report for codacy
run: coverage xml
# - name: Run codacy-coverage-reporter
# uses: codacy/codacy-coverage-reporter-action@master
# with:
# project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
# coverage-reports: coverage.xml
# if: ${{ matrix.python-version == '3.7' }}
# - name: Check style with flake8
# run: flake8 .

- name: Coveralls
uses: AndreMiras/coveralls-python-action@develop
18 changes: 18 additions & 0 deletions .github/workflows/conventional-prs.yml
@@ -0,0 +1,18 @@
name: PR
on:
pull_request_target:
types:
- opened
- reopened
- edited
- synchronize

jobs:
title-format:
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v3.4.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
validateSingleCommit: true
41 changes: 41 additions & 0 deletions .github/workflows/release-please.yml
@@ -0,0 +1,41 @@
on:
push:
branches:
- main

name: release-please

jobs:
release-please:
runs-on: ubuntu-latest
steps:

- uses: GoogleCloudPlatform/release-please-action@v2
id: release
with:
release-type: python
package-name: biomedsheets

- uses: actions/checkout@v2
if: ${{ steps.release.outputs.release_created }}
with:
fetch-depth: 0

- name: Set up Python
if: ${{ steps.release.outputs.release_created }}
uses: actions/setup-python@v2
with:
python-version: '3.x'

- name: Build package
if: ${{ steps.release.outputs.release_created }}
run: |
python -m pip install --upgrade pip
python setup.py sdist
- name: Publish to PyPI
if: ${{ steps.release.outputs.release_created }}
uses: pypa/gh-action-pypi-publish@master
with:
user: __token__
password: ${{ secrets.PYPI_TOKEN }}
140 changes: 140 additions & 0 deletions CHANGELOG.md
@@ -0,0 +1,140 @@
# BioMed Sheets Changelog

## v0.11.5

- Fixing consistency check for Duo Cases (#26).

## v0.11.4

- Fixing issues with ResourceAdapter (#21).

## v0.11.3

- Fixing warnings in the tests (#19).

## v0.11.2

- Updating/modernizing dependencies.

## v0.11.1

- Adding property to shortcut sheets that indicates available kwargs.

## v0.11.0

- Adding custom option to join pedigrees by fields such as `familyId`.

## v0.10.0

- Adding functionality for filtering pedigrees.

## v0.9.1

- Fixing sorting bug.

## v0.9.0

- Sorting donors for picking the index in germline sample sheets.

## v0.8.1

- Fixing mapping of `Unknown` values.

## v0.8.0

- Changed behaviour in case of no affected donor has library. In this
case, the first donor becomes the index. Consequently, the index
must have an NGS library.

## v0.7.1

- Removing superflous print.

## v0.7.0

- Allowing to specify `bioSample` and `testSample` in germline TSV
files.
- Fixing some tests.

## v0.6.2

- Proper merging with recent `ruamel.yaml` updates.

## v0.6.1

- Interpreting `#` in TSV files in more locations.

## v0.6.0

- Allowing to comment out lines in TSV files by prefixing them with
`#`.

## v0.5.6

- Fixing bug in computing index (for real).

## v0.5.5

- Fixing bug in computing index.

## v0.5.4

- Fixing `setup.py` to work with pip v10.t

## v0.5.3

- Fixing packaging to use base and not test dependencies.

## v0.5.2

- Removing some hard (transitive) dependencies.

## v0.5.1

- Fixing manifest so the package contains the JSON file.

## v0.5

- Allow cancer sheets for use in germline calling.
- Only warn if index has no NGS library, no error.

## v0.4

- Fixin TSV I/O.
- Bumping ruamel.yaml version.
- Fixing cancer sheet iteration.
- Allowing cancer-only samples in cance case sheets.
- Fixing `float`-related bug.
- Fixing bug in reference resolving (+tests)

## v0.3.1

- Fixing `setup.py` to work with pip v10.

## v0.3

- Adding possibility for generic TSV sample sheets.
- Many updates to make documentation more clear.
- Various updates, fixing Codacy issues.
- Adding routines for writing out PED file from germline sample
sheets.

## v0.2

- Auto-deployment to pypi
- Fixing shortcuts to father/mother during cohort loading
- Cleanup code (according to Flake 8)
- Adding more tests, replacing examples by TSV files
- Removing protein pools
- Adding Sphinx-based ocumentation
- Restructuring requirements txt files
- Configurable entity name generation. This allows to use secondary id
only for naming, e.g.
- Fixing `requirements*.txt` files for always using SSH
- Fixing sample naming for germline sample sheets
- Adding versioneer integration

## v0.1.1

- First actual release, versioning done using versioneer
- Everything is new!

0 comments on commit 2076440

Please sign in to comment.