Commit graph

83 commits

Author SHA1 Message Date
Chris Mayo
dec76d60ff Run tests on ubuntu-latest
The VirusCheck plugin is now disabled. Revert:
2d30942f2 ("Run tests on ubuntu-22.04", 2024-10-12)
2025-07-23 19:23:52 +01:00
Chris Mayo
193a87a852 Test with Python 3.14 2025-07-23 19:23:52 +01:00
Chris Mayo
759208d903 Disable VirusCheck plugin
Not compatible with ClamAV >= 1.0.
2025-07-14 19:52:34 +01:00
Chris Mayo
2d30942f22 Run tests on ubuntu-22.04
VirusCheck plugin needs updating for ClamAV 1.0.
2024-10-12 17:04:47 +01:00
Chris Mayo
c698fe7877 Don't push attestation of Docker images to the registry
Generates additional entries in the list of image versions, some
are labelled making it impossible for actions/delete-package-version in
its current state to automatically remove them.

https://github.com/actions/attest-build-provenance/issues/71#issuecomment-2108140285
2024-08-28 19:26:49 +01:00
Chris Mayo
cea3a84e8a Fix attest path to Python distribution files
Error: Could not find subject at path dist/*.{tar.gz,whl}
2024-08-28 19:26:49 +01:00
Chris Mayo
48496b3854 Use a geoip tox factor
GeoIP requires libGeoIP which tox deps cannot install.
Likewise the GeoLiteCountry database which is also required by
TestLocationInfo().

The last GeoIP release was in 2014, and libGeoIP has been EOL since 2022,
but it is still available in Debian/Ubuntu.
2024-08-27 19:34:28 +01:00
Chris Mayo
34bacae063 Use actions/attest for Docker images and Python distributions
https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds
2024-08-27 19:30:20 +01:00
Chris Mayo
c937ff467c Avoid Coveralls upload failure because build was closed
Error: Unprocessable Entity
Can't add a job to a build that is already closed.
See docs.coveralls.io/parallel-builds
2024-08-27 19:22:56 +01:00
Chris Mayo
84b26b2da5 Test with Python 3.13 2024-08-21 19:34:37 +01:00
Chris Mayo
fad8e0afa5 Fix coverage results upload to Coveralls
As seen with coverage-reporter v0.6.10:

Detected coverage file: .coverage
Coverage reporter does not yet know how to process this file: .coverage
2024-04-22 19:22:52 +01:00
Chris Mayo
46d7d78dd6 Preserve Docker images of releases
Use "delete-only-untagged-versions" and stop tagging non-release images.
2024-03-22 19:28:27 +00:00
Chris Mayo
9dadf285a1 Suppress progress output from actions/checkout 2024-03-22 19:28:27 +00:00
Chris Mayo
10530e5a26 Update Actions to Node 20 versions 2024-03-22 19:28:27 +00:00
Chris Mayo
1c83056f02 Add version to Coveralls Action 2024-03-22 19:28:27 +00:00
Chris Mayo
70e55ac122 Use actions/deploy-pages to publish to GitHub Pages
gh-pages branch is no longer used.
2024-03-21 19:24:06 +00:00
Chris Mayo
0a5a615c5d Stop generating Sigstore signatures on release
Failing to complete.
2023-12-11 19:44:17 +00:00
Chris Mayo
284969e7bb Raise minimum Python version to 3.9 2023-11-27 19:22:08 +00:00
Chris Mayo
260350abfc Update gh-action-sigstore-python to v2.1.0
Python 3.12 compatibility.
2023-11-06 19:32:09 +00:00
Marius Gedminas
287474abfe Python 3.12 final is out, stop using -dev
Fixes the check-python-versions job in CI.
2023-10-14 12:39:20 +03:00
Chris Mayo
0c9b98deb5 Fix release workflow publish step
gh-action-pypi-publish failing on twine check:

 Checking dist/LinkChecker-10.3.0-py3-none-any.whl.crt: ERROR    InvalidDistribution: Unknown distribution format:
         'LinkChecker-10.3.0-py3-none-any.whl.crt'
2023-09-25 19:22:19 +01:00
Chris Mayo
d414c4ab1c Rename upload step of release workflow
Sigstore files are uploaded as well as distribution files.
2023-09-25 19:22:19 +01:00
Chris Mayo
95f158efd6 Generate Sigstore signatures for release 2023-09-18 19:25:32 +01:00
Chris Mayo
e793e64c78 Add Python 3.12 2023-09-06 19:22:04 +01:00
Chris Mayo
1cb7f3d78a Test on GitHub with httpbin from a container
Avoid failures due to the web service.
2023-06-05 19:30:59 +01:00
Chris Mayo
e6da68b7f6 Add linting with Pylint to build workflow 2023-05-03 19:24:53 +01:00
Chris Mayo
8820c8c0f0 Revert "Remove check-python-versions that needs setup.py"
Supports pyproject.toml since 0.21.

This reverts commit a214531030.
2023-05-03 19:24:53 +01:00
Chris Mayo
75996718de Publish release to PyPI 2023-05-01 19:24:55 +01:00
Chris Mayo
b5a290e98e Use Coveralls GitHub Action
Python package stopped working.
2023-05-01 19:24:55 +01:00
Chris Mayo
c055c4f52b
Merge pull request #721 from cjmayo/build
Set permissions for build workflow
2023-01-30 19:36:36 +00:00
Chris Mayo
91105d722a
Merge pull request #716 from cjmayo/py38
Raise minimum Python version to 3.8
2023-01-30 19:36:11 +00:00
Chris Mayo
f31d532c7e
Merge pull request #715 from cjmayo/delete_docker
Delete oldest Docker images
2023-01-23 19:28:05 +00:00
Chris Mayo
7a09ab4bb4 Set permissions for build workflow 2023-01-19 19:25:57 +00:00
Chris Mayo
51c6b3ef2f Allow sphinx-rtd-theme to pick the versions of sphinx & docutils
From version 1.1.0 sphinx-rtd-theme adds upper bounds for compatible
versions of sphinx and docutils.
2023-01-18 19:22:50 +00:00
Chris Mayo
4162540019
Merge pull request #714 from cjmayo/python-version
Resolve actions/setup-python python-version warnings
2023-01-18 19:22:28 +00:00
Chris Mayo
67f884e507 Ensure jQuery is installed to support RTD on Sphinx 6
Without jQuery website search is broken.
2023-01-17 19:54:00 +00:00
Chris Mayo
643364a655 Raise minimum Python version to 3.8 2023-01-17 19:23:29 +00:00
Chris Mayo
8366bde4e2 Delete oldest Docker images
Keep 20 most recent.
2023-01-16 19:36:22 +00:00
Chris Mayo
aff5e2918d Resolve actions/setup-python python-version warnings 2023-01-14 17:22:20 +00:00
Chris Mayo
86726a64f3 Make ClamAV cache directory writeable for cache action
Else cache restore fails:

/usr/bin/tar: ../../../../../var/lib/clamav/main.cvd: Cannot open: Permission denied
/usr/bin/tar: ../../../../../var/lib/clamav/freshclam.dat: Cannot open: File exists
/usr/bin/tar: ../../../../../var/lib/clamav/daily.cvd: Cannot open: File exists
/usr/bin/tar: ../../../../../var/lib/clamav/bytecode.cvd: Cannot open: Permission denied
/usr/bin/tar: ../../../../../var/lib/clamav: Cannot utime: Operation not permitted
/usr/bin/tar: Exiting with failure status due to previous errors
Warning: Failed to restore: Tar failed with error: The process '/usr/bin/tar' failed with exit code 2
Cache not found for input keys: clamav-v1
2023-01-12 19:53:03 +00:00
Chris Mayo
87368c14da Fix build workflow docs job failure
cryptography 39 is causing problems on Ubuntu 22.04 for Sphinx
autosummary:

* AttributeError: module 'lib' has no attribute 'OpenSSL_add_all_algorithms'

Stop installing pdfminer.six which is causing cryptography to be
installed.
2023-01-09 19:25:07 +00:00
Marius Gedminas
4ee13f140a Cache ClamAV signatures
We don't care if the signatures are stale (we only need the EICAR virus
test signature), so run freshclam only if the cache is missing entirely.

Closes #709.

Also, use apt-get instead of apt to avoid

    WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
2022-12-31 17:15:25 +02:00
Chris Mayo
46c5712baf Add pdfminer.six to minimum version testing
20181108 is the version used by the current Debian oldstable.
Ubuntu 20.04 LTS has 20191020.

pdfminer installs cryptography, >= 38 breaks pyOpenSSL < 22 as found in
Ubuntu 20.04 LTS. Update docs job to use ubuntu-22.04 to avoid
failures.
2022-12-05 19:22:35 +00:00
Chris Mayo
f489660925 Test with minimum versions of requirements
Pick 1.8.1 as the minimum version of argcomplete. This is the version in
the current Debian oldstable and Ubuntu 20.04 LTS.
2022-11-30 19:21:06 +00:00
Chris Mayo
c7989eb058 Turn all warnings into errors when building website
Drop code target, sphinx-autogen is not using conf.py, and since Sphinx
4.0 autosummary is generating stub pages by default anyway.

Mock ctypes and linkcheck.__main__: colorama.py imports MS Windows
libraries, autosummary executes __main__.py.
2022-11-02 19:24:35 +00:00
Chris Mayo
740fce4df5
Merge pull request #682 from cjmayo/node16
Update Actions to Node16 versions
2022-10-31 19:22:50 +00:00
Chris Mayo
169e327d50 Add Python 3.11 2022-10-25 19:21:39 +01:00
Chris Mayo
776f2980bc Update 3rd-party Actions to Node16 versions 2022-10-24 19:26:52 +01:00
Chris Mayo
a3bedadfb6 Update GitHub Actions to Node16 versions 2022-10-24 19:26:52 +01:00
Chris Mayo
38dea6b7f4 Fix install with pip git+https
pip only uses the wheel target.

Save building the metadata twice as a result in GitHub workflows and
update documentation.md.
2022-09-13 19:32:06 +01:00