From af4bee85643707d3ecae613f2d4549c119d3682e Mon Sep 17 00:00:00 2001 From: Daniel Moch Date: Sat, 15 Jun 2024 20:58:20 -0400 Subject: [PATCH 1/2] move to Github --- .github/dependabot.yml | 7 ++++++ .github/workflows/codeql.yml | 36 ++++++++++++++++++++++++++++ .github/workflows/lint.yml | 36 ++++++++++++++++++++++++++++ .github/workflows/release.yml | 27 +++++++++++++++++++++ .travis.yml | 44 ----------------------------------- CONTRIBUTING.rst | 30 ++++++++---------------- docs/source/conf.py | 2 +- docs/source/index.rst | 2 +- pyproject.toml | 30 ++---------------------- src/nncli/__init__.py | 2 +- 10 files changed, 121 insertions(+), 95 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/codeql.yml create mode 100644 .github/workflows/lint.yml create mode 100644 .github/workflows/release.yml delete mode 100644 .travis.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..7523af2 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,7 @@ +# See LICENSE file for copyright and license information +version: 2 +updates: + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "weekly" diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000..bb564b3 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,36 @@ +# See LICENSE file for copyright and license information +name: "CodeQL" + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + analyze: + name: Analyze (python) + runs-on: 'ubuntu-latest' + timeout-minutes: 360 + permissions: + security-events: write + packages: read + + strategy: + fail-fast: false + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: python + build-mode: none + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:python" diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..22a2b36 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,36 @@ +# See LICENSE file for copyright and license information +name: Python package + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + fail-fast: false + + steps: + - uses: actions/checkout@v4 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements-dev.txt + - name: Lint with pylint, vulture + run: | + pylint nncli tests --disable=parse-error + vulture nncli .vulture_whitelist.py + - name: Test with mypy + run: python -m pytest + - name: Build + run: | + flit build + make -C docs html man diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..8b04943 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,27 @@ +# See LICENSE file for copyright and license information +name: Python release + +on: + push: + tags: [ "v*" ] + +jobs: + release: + + runs-on: ubuntu-latest + environment: release + permissions: + id-token: write + + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: "3.10" + - name: Build package + run: | + python -m pip install build + python -m build + - name: Publish to Pypi + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d2a0aa3..0000000 --- a/.travis.yml +++ /dev/null @@ -1,44 +0,0 @@ -# https://travis-ci.org/djmoch/nncli -language: python - -matrix: - fast_finish: true - -.mixins: -- &xenial-mixin - dist: xenial - sudo: true - addons: - apt: - packages: - - libgnutls-dev - -env: - - PIPENV_HIDE_EMOJIS=1 PIPENV_NO_INHERIT=1 - -install: - - pip install -U pip pipenv python-coveralls - - make test-install - -jobs: - include: - - stage: test - script: make test - python: 3.4 - - stage: test - script: make test - python: 3.5 - - stage: test - script: make test - python: 3.6 - - stage: test - script: make test - <<: *xenial-mixin - python: 3.7 - - stage: lint - script: make lint - python: 3.6 - - stage: coverage - script: make coverage - after_success: coveralls - python: 3.5 diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 5dc7bf7..0cbad13 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -64,30 +64,20 @@ updating requirements files. Discussion and Requests ----------------------- -All discussion takes place on the public `mailing list`_. The list's -archive can be found at https://lists.danielmoch.com/nncli-dev. Emails -can be sent to the following addresses to manage your subscription to -the mailing list. +All discussion takes place on the `issue tracker`_. -- nncli-dev+subscribe@ -- nncli-dev+unsubscribe@ -- nncli-dev+help@ - -Patches and pull requests are welcome, preferably via emailed output -of `git-request-pull(1)`_ sent to the mailing list. Bug reports should -also be directed to the mailing list. - -If you aren't hosting a fork anywhere online, you can also send patches -using `git-format-patch(1)`_. +Pull requests are welcome. Releases -------- -Releases are published to PyPI_. Signed source tarballs are maintained -at https://dl.danielmoch.com/nncli. Instructions for verifying -tarballs are in the README file at the previous link. +Releases are published to PyPI_. +Signed source tarballs are maintained on the `releases page`_. +Archives are signed with `signify`. +To support the use of `minisign`, which is compatable with `signify`, +detached signatures will be created. +Signature files are indicated with a .minisig extension. .. _PyPI: https://pypi.org/project/nncli/ -.. _mailing list: nncli-dev@danielmoch.com -.. _git-format-patch(1): https://www.git-scm.com/docs/git-format-patch -.. _git-request-pull(1): https://www.git-scm.com/docs/git-request-pull +.. _issue tracker: https://github.com/djmoch/nncli/issues +.. _releases page: https://github.com/djmoch/nncli/releases diff --git a/docs/source/conf.py b/docs/source/conf.py index 9bbdfdb..0bc38a2 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -93,7 +93,7 @@ 'color_accent': 'blue', # Set the repo location to get a badge with stats - 'repo_url': 'https://git.danielmoch.com/nncli/', + 'repo_url': 'https://github.com/djmoch/nncli/', 'repo_name': 'Git Repository', 'repo_type': None, diff --git a/docs/source/index.rst b/docs/source/index.rst index 5198797..0ff18e6 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -10,7 +10,7 @@ NextCloud Notes Command Line Interface .. image:: https://img.shields.io/pypi/l/nncli.svg :alt: PyPI - License - :target: https://git.danielmoch.com/nncli/tree/LICENSE + :target: https://github.com/djmoch/nncli/blob/master/LICENSE .. image:: https://img.shields.io/pypi/v/nncli.svg :alt: PyPI :target: https://pypi.org/project/nncli diff --git a/pyproject.toml b/pyproject.toml index 6f11eb3..30b1c3a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ authors = [ {name = "Daniel Moch", email = "daniel@danielmoch.com"}, ] readme = "README.rst" -requires-python = ">=3" +requires-python = ">=3.9" classifiers = [ "License :: OSI Approved :: MIT License", "Development Status :: 4 - Beta", @@ -28,7 +28,7 @@ dynamic = [ "version", "description" ] [project.urls] Homepage = "https://nncli.org" -"Source Code" = "https://git.danielmoch.com/nncli" +"Source Code" = "https://github.com/djmoch/nncli" [project.optional-dependencies] dev = [ @@ -64,29 +64,3 @@ show_missing = true [tool.pytest.ini_options] mock_use_standalone_module = true - -[tool.tox] -legacy_tox_ini = """ -[tox] -envlist = py37, py38, py39, py310, pylint, coverage -skipsdist = True - -[testenv:pylint] -deps = -rrequirements-dev.txt -allowlist_externals = make -commands = - make lint - -[testenv:coverage] -deps = -rrequirements-dev.txt -allowlist_externals = make -commands = - make coverage - -[testenv] -deps = -rrequirements-dev.txt -allowlist_externals = make -commands = - make install - python -m pytest -""" diff --git a/src/nncli/__init__.py b/src/nncli/__init__.py index 1f74f5b..d7d3bdc 100644 --- a/src/nncli/__init__.py +++ b/src/nncli/__init__.py @@ -1,4 +1,4 @@ # -*- coding: utf-8 -*- """NextCloud Notes Command Line Interface""" -__version__ = '0.3.7' +__version__ = '0.3.8' From fa3e25adfade7001eb7b1834acbbb8e9c1b7b1ce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jun 2024 00:59:22 +0000 Subject: [PATCH 2/2] Bump alabaster from 0.7.12 to 0.7.16 Bumps [alabaster](https://github.com/sphinx-doc/alabaster) from 0.7.12 to 0.7.16. - [Release notes](https://github.com/sphinx-doc/alabaster/releases) - [Changelog](https://github.com/sphinx-doc/alabaster/blob/master/docs/changelog.rst) - [Commits](https://github.com/sphinx-doc/alabaster/compare/0.7.12...0.7.16) --- updated-dependencies: - dependency-name: alabaster dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- requirements-dev.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 6d60504..27a3a97 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -4,9 +4,9 @@ # # pip-compile --extra=dev --generate-hashes --output-file=requirements-dev.txt pyproject.toml # -alabaster==0.7.12 \ - --hash=sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359 \ - --hash=sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02 +alabaster==0.7.16 \ + --hash=sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65 \ + --hash=sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92 # via sphinx appdirs==1.4.4 \ --hash=sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41 \