mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-11 09:08:32 +02:00
* behavior outline
* FIrst pass at allow external plugins
* remove template exporter
* Add listing of active plugins to '--version' output
* Documentation for plugins
* [Docs] add custom imports and exporters to site TOC
* [Docs] better linewrapping
* enforce positive initial linewrap
Check column widths
update gitignore
throw error when linewrap too small
simply check for large enough linewrap value
* delete unused error message
* PR feedback
make exception more informative
update check_linewrap signature in src and test
make check_linewrap a free function
* delete unused function
* delete else..pass block
* newline for make format
* Include dates_exporter
* Use Base classes for importer and exporters.
* [Docs] improve documentation of custom Importers and Exporters
* [Testing] separate run with external plugin!
* basic behavior test
* prototype unittest for JSON Exporter
test for unimplemented method
* make format
delete unused imports
* Remove 'importer' or 'exporter' from filenames where not needed
* [Test] run different tests with or without the external plugins installed
* [Test] move test rot13 plugin into git tree
from 0dc912af82
* consolidate demo plugins to common package
* [Docs] name page for plugins
* [Docs] include the sample plug in code files directly
* style fixes
* [test] determine whether to run external plug in tests based on installed packages
* improved code documentation
* style fixes for GitHub actions
* Convert "short" and "pretty" (and "default") formaters to plugins
further to https://github.com/jrnl-org/jrnl/pull/1177
* more code clean up
tests pass locally...now for GitHub...
* [tests] dynamically determine jrnl version for plugin tests
* [GitHub Actions] direct install of testing plugins
* Remove template code
* [plugins] meta --> collector
* [Docs] create scripted entries using an custom importer
* (closer to) being able to run behave tests outside project root directory
* We already know when exporter to use
Don't re-calculate it!
* [Tests] don't name test plugin 'testing"
If so named, pip won't install it.
* [Test] run behave tests with test plugins outside project root
* [Test] behave tests pass locally
* [Docs] fix typo
* [GitHub Actions] run test commands from poetry's shell
* black-ify code
* [GitHub Actions] move downstream (rather than up) to run tests
* [GitHub Actions] set shell to poetry
* [GitHub Workflows] Manually activate virtual environment
* [GitHub Actions] Skip Windows & Python 3.8
Can't seem to find Python exe?
* [GiotHub Actions] explicitly use virtual env
* [GitHub Actions] create virutal env directly
* [GitHub Actions] better activate of Windows virtual env
* [GitHub Actions] create virtual env on Mac
* [Github Actions] install wheel and upgrade pip
* [GitHub Actions] skip virtual environments altogether
* [GitHub Actions] change directory for behave test
* Remove Windows exclusions from CI as per note -- they should be working now
Co-authored-by: Suhas <sugas182@gmail.com>
Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
57 lines
1.5 KiB
YAML
57 lines
1.5 KiB
YAML
name: Testing
|
|
|
|
on:
|
|
push:
|
|
branches: [ develop, release ]
|
|
paths:
|
|
- 'jrnl/**'
|
|
- 'features/**'
|
|
- 'tests/**'
|
|
- 'poetry.lock'
|
|
- 'pyproject.toml'
|
|
pull_request:
|
|
branches: [ develop ]
|
|
paths:
|
|
- 'jrnl/**'
|
|
- 'features/**'
|
|
- 'tests/**'
|
|
- 'poetry.lock'
|
|
- 'pyproject.toml'
|
|
|
|
jobs:
|
|
test-namespace-plugins:
|
|
if: >
|
|
! contains(github.event.head_commit.message, '[ci skip]')
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
python-version: [ 3.7, 3.8, 3.9 ]
|
|
os: [ ubuntu-latest, macos-latest, windows-latest ]
|
|
exclude: # Added for GitHub Actions PR problem 2020-12-19 -- remove later!
|
|
- os: windows-latest
|
|
python-version: 3.9
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install pip setuptools wheel --upgrade
|
|
python -m pip install .
|
|
python -m pip install ./tests/external_plugins_src/
|
|
python -m pip install pytest behave
|
|
# installed test plugins aren't recognized by "behave" if run from the
|
|
# project's root folder
|
|
|
|
- name: Test with pytest
|
|
if: success() || failure()
|
|
run: pytest --junitxml=reports/pytest/results.xml
|
|
|
|
- name: Test with behave
|
|
if: success() || failure()
|
|
run: cd features && behave --no-skipped --format progress2 --junit --junit-directory ../reports/behave
|