UNFINISHED/NOTTESTED - Use tasklib in taskwarrior_side #381
Workflow file for this run
This file contains 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: CI | |
on: | |
push: | |
pull_request: | |
jobs: | |
install_with_pip3: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: "3.8" | |
- name: Install with pip3 - no extras | |
run: | | |
pip3 install . | |
pip3 show syncall | |
- name: Install with pip3 - all extras | |
run: | | |
pip3 install .[tw,google,notion,gkeep,asana,caldav] | |
pip3 show syncall | |
- name: Install with pip3 - tw | |
run: | | |
pip3 install .[tw] | |
pip3 show syncall | |
- name: Install with pip3 - google | |
run: | | |
pip3 install .[google] | |
pip3 show syncall | |
- name: Install with pip3 - notion | |
run: | | |
pip3 install .[notion] | |
pip3 show syncall | |
- name: Install with pip3 - gkeep | |
run: | | |
pip3 install .[gkeep] | |
pip3 show syncall | |
- name: Install with pip3 - asana | |
run: | | |
pip3 install .[asana] | |
pip3 show syncall | |
- name: Install with pip3 - caldav | |
run: | | |
pip3 install .[caldav] | |
pip3 show syncall | |
unittests: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: true | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ["3.8", "3.9"] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Python Poetry Action | |
uses: abatilo/[email protected] | |
with: | |
poetry-version: "1.6.1" | |
- name: Install prerequisites | |
run: | | |
sudo ./scripts/install-taskwarrior.sh | |
poetry install --all-extras | |
poetry self add "poetry-dynamic-versioning[plugin]" | |
task --version | |
- name: Run tests | |
run: poetry run pytest | |
style_and_linters: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: "3.8" | |
- name: Python Poetry Action | |
uses: abatilo/[email protected] | |
with: | |
poetry-version: "1.6.1" | |
- name: Install prerequisites | |
run: | | |
poetry install -E google -E notion -E gkeep | |
poetry self add "poetry-dynamic-versioning[plugin]" | |
- name: Run style checkers and linters | |
run: poetry run pre-commit run --all-files | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: "3.8" | |
- name: Python Poetry Action | |
uses: abatilo/[email protected] | |
with: | |
poetry-version: "1.6.1" | |
- name: Install prerequisites | |
run: | | |
sudo ./scripts/install-taskwarrior.sh | |
poetry install --all-extras | |
poetry self add "poetry-dynamic-versioning[plugin]" | |
task --version | |
- name: Coverage | |
run: | | |
poetry run coverage run -m pytest --doctest-modules | |
poetry run coverage report | |
# Using --service=github + secrets.GITHUB_TOKEN for builds originating from PRs to work | |
# Not sure if both are required | |
# https://github.com/TheKevJames/coveralls-python/issues/252 | |
- name: Coveralls | |
run: poetry run coveralls --service=github || poetry run coveralls | |
env: | |
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
publish_package: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Publish package to pypi | |
uses: JRubics/[email protected] | |
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') | |
with: | |
pypi_token: ${{ secrets.PYPI_API_TOKEN }} | |
plugins: "poetry-dynamic-versioning[plugin]" |