Added argument to gff3_to_fasta that allows user to determine what at… #83
Workflow file for this run
This file contains hidden or 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
| name: build | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| id-token: write | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| PIP_NO_CACHE_DIR: "1" | |
| jobs: | |
| build1-Calculating-coverage: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set up Python 3.9 | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.9" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install coveralls coverage wheel | |
| python -m pip install . | |
| if [ -f requirements.txt ]; then python -m pip install -r requirements.txt; fi | |
| - name: Test with coverage | |
| run: | | |
| coverage erase | |
| coverage run -a "$(command -v gff3_QC)" -g example_file/example.gff3 -f example_file/reference.fa -o error.txt | |
| coverage run -a "$(command -v gff3_fix)" -qc_r error.txt -g example_file/example.gff3 -og corrected.gff3 | |
| coverage run -a "$(command -v gff3_merge)" -g1 example_file/new_models.gff3 -g2 example_file/reference.gff3 -f example_file/reference.fa -og merged.gff -r merged_report.txt | |
| coverage run -a "$(command -v gff3_merge)" -g1 example_file/new_models.gff3 -g2 example_file/reference.gff3 -f example_file/reference.fa -og merged.gff -u1 example_file/u1.txt -u2 example_file/u2.txt -r merged_report.txt | |
| coverage run -a "$(command -v gff3_merge)" -g1 example_file/new_models.gff3 -g2 example_file/reference.gff3 -f example_file/reference.fa -og merged.gff -u1 example_file/u1.txt -r merged_report.txt | |
| coverage run -a "$(command -v gff3_merge)" -g1 example_file/new_models.gff3 -g2 example_file/reference.gff3 -f example_file/reference.fa -og merged.gff -u2 example_file/u2.txt -r merged_report.txt | |
| coverage run -a "$(command -v gff3_merge)" -g1 example_file/new_models_w_replace.gff3 -g2 example_file/reference.gff3 -f example_file/reference.fa -og merged.gff -r merged_report.txt -noAuto | |
| coverage run -a "$(command -v gff3_sort)" -g example_file/example.gff3 -og example-sorted.gff3 | |
| coverage run -a "$(command -v gff3_to_fasta)" -g example_file/example.gff3 -f example_file/reference.fa -st all -d simple -o test_sequences | |
| coverage run -a -m unittest discover -s tests/unit -p "test_*.py" | |
| - name: Report coverage summary | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| coverage report --fail-under=22 -m | |
| coverage xml -o coverage.xml | |
| coveralls --service=github | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v6 | |
| with: | |
| files: coverage.xml | |
| use_oidc: true | |
| fail_ci_if_error: false | |
| verbose: true | |
| build2-Checking-links: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set up Ruby | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: "3.0" | |
| bundler-cache: true # runs 'bundle install' and caches installed gems automatically | |
| - name: Install dependencies | |
| run: gem install awesome_bot | |
| - name: Checking links | |
| run: awesome_bot --allow-redirect --allow-dupe README.md docs/*.md | |
| build3-Testing-functions: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: ['ubuntu-24.04', 'windows-latest', 'macos-latest'] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set up Python 3.9 | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.9" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install wheel | |
| python -m pip install . | |
| - name: Run smoke tests | |
| run: python tests.py | |
| build4-Packaging-check: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: ['ubuntu-24.04', 'windows-latest', 'macos-latest'] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set up Python 3.9 | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.9" | |
| - name: Build distribution artifacts | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install build wheel | |
| python -m build | |
| - name: Install wheel and verify CLI entry points | |
| run: | | |
| python -c "import glob,subprocess,sys; wheels=glob.glob('dist/*.whl'); assert wheels, 'No wheel built'; subprocess.check_call([sys.executable, '-m', 'pip', 'install', wheels[0]])" | |
| gff3_sort -h | |
| python -c "import shutil,sys; sys.exit(0 if shutil.which('gff3_sort') else 1)" | |
| build5-Docs-build: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set up Python 3.14 | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.14" | |
| - name: Install docs dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -r docs/requirements.txt | |
| - name: Build docs (warnings as errors) | |
| run: | | |
| python -m sphinx -W -b html docs docs/_build/html | |
| build6-Python-314-runtime: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set up Python 3.14 | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.14" | |
| - name: Install runtime dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install wheel | |
| python -m pip install . | |
| - name: Run smoke and unit tests on Python 3.14 | |
| run: | | |
| python tests.py | |
| python -m unittest discover -s tests/unit -p "test_*.py" |