Skip to content

Commit 6d6d8e5

Browse files
Merge branch 'main' into system-provided
Signed-off-by: Ayan Sinha Mahapatra <asmahapatra@aboutcode.org>
2 parents 7133fe8 + 3f5d6e3 commit 6d6d8e5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+2539
-2155
lines changed

.github/workflows/docs-ci.yml

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,29 @@ on: [push, pull_request]
44

55
jobs:
66
build:
7-
runs-on: ubuntu-20.04
7+
runs-on: ubuntu-24.04
88

99
strategy:
1010
max-parallel: 4
1111
matrix:
12-
python-version: [3.9]
12+
python-version: [3.13]
1313

1414
steps:
1515
- name: Checkout code
16-
uses: actions/checkout@v2
16+
uses: actions/checkout@v4
1717

1818
- name: Set up Python ${{ matrix.python-version }}
19-
uses: actions/setup-python@v2
19+
uses: actions/setup-python@v5
2020
with:
2121
python-version: ${{ matrix.python-version }}
2222

23-
- name: Give permission to run scripts
24-
run: chmod +x ./docs/scripts/doc8_style_check.sh
25-
2623
- name: Install Dependencies
27-
run: pip install -e .[docs]
24+
run: ./configure --dev
2825

29-
- name: Check Sphinx Documentation build minimally
30-
working-directory: ./docs
31-
run: sphinx-build -E -W source build
26+
- name: Check documentation and HTML for errors and dead links
27+
run: make docs-check
3228

33-
- name: Check for documentation style errors
34-
working-directory: ./docs
35-
run: ./scripts/doc8_style_check.sh
29+
- name: Check documentation for style errors
30+
run: make doc8
3631

3732

.github/workflows/pypi-release.yml

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,23 +21,26 @@ on:
2121
jobs:
2222
build-pypi-distribs:
2323
name: Build and publish library to PyPI
24-
runs-on: ubuntu-20.04
24+
runs-on: ubuntu-24.04
2525

2626
steps:
27-
- uses: actions/checkout@master
27+
- uses: actions/checkout@v4
2828
- name: Set up Python
29-
uses: actions/setup-python@v1
29+
uses: actions/setup-python@v5
3030
with:
31-
python-version: 3.9
31+
python-version: 3.12
3232

33-
- name: Install pypa/build
34-
run: python -m pip install build --user
33+
- name: Install pypa/build and twine
34+
run: python -m pip install --user --upgrade build twine pkginfo
3535

3636
- name: Build a binary wheel and a source tarball
37-
run: python -m build --sdist --wheel --outdir dist/
37+
run: python -m build --wheel --sdist --outdir dist/
38+
39+
- name: Validate wheel and sdis for Pypi
40+
run: python -m twine check dist/*
3841

3942
- name: Upload built archives
40-
uses: actions/upload-artifact@v3
43+
uses: actions/upload-artifact@v4
4144
with:
4245
name: pypi_archives
4346
path: dist/*
@@ -47,17 +50,17 @@ jobs:
4750
name: Create GH release
4851
needs:
4952
- build-pypi-distribs
50-
runs-on: ubuntu-20.04
53+
runs-on: ubuntu-24.04
5154

5255
steps:
5356
- name: Download built archives
54-
uses: actions/download-artifact@v3
57+
uses: actions/download-artifact@v4
5558
with:
5659
name: pypi_archives
5760
path: dist
5861

5962
- name: Create GH release
60-
uses: softprops/action-gh-release@v1
63+
uses: softprops/action-gh-release@v2
6164
with:
6265
draft: true
6366
files: dist/*
@@ -67,17 +70,18 @@ jobs:
6770
name: Create PyPI release
6871
needs:
6972
- create-gh-release
70-
runs-on: ubuntu-20.04
73+
runs-on: ubuntu-24.04
74+
environment: pypi-publish
75+
permissions:
76+
id-token: write
7177

7278
steps:
7379
- name: Download built archives
74-
uses: actions/download-artifact@v3
80+
uses: actions/download-artifact@v4
7581
with:
7682
name: pypi_archives
7783
path: dist
7884

7985
- name: Publish to PyPI
8086
if: startsWith(github.ref, 'refs/tags')
81-
uses: pypa/gh-action-pypi-publish@master
82-
with:
83-
password: ${{ secrets.PYPI_API_TOKEN }}
87+
uses: pypa/gh-action-pypi-publish@release/v1

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,3 +81,5 @@ tcl
8181
!/tests/typecode/data/contenttype/compiled/linux/*
8282
!/tests/typecode/data/contenttype/compiled/win/*
8383
!/tests/typecode/data/contenttype/package/*
84+
/.ruff_cache/
85+
.env

.readthedocs.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,17 @@
55
# Required
66
version: 2
77

8+
# Build in latest ubuntu/python
9+
build:
10+
os: ubuntu-22.04
11+
tools:
12+
python: "3.13"
13+
14+
# Build PDF & ePub
15+
formats:
16+
- epub
17+
- pdf
18+
819
# Where the Sphinx conf.py file is located
920
sphinx:
1021
configuration: docs/source/conf.py
@@ -15,4 +26,4 @@ python:
1526
- method: pip
1627
path: .
1728
extra_requirements:
18-
- docs
29+
- dev

CHANGELOG.rst

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
11
Release notes
22
=============
33

4+
5+
Version 30.1.0
6+
-----------------
7+
8+
- Support python3.14 and other misc fixes
9+
https://github.com/aboutcode-org/typecode/pull/46
10+
- Replace pkg_resources with importlib.metadata
11+
https://github.com/aboutcode-org/typecode/pull/45
12+
13+
Version 30.0.2
14+
-----------------
15+
16+
- Update link references of ownership from nexB to aboutcode-org
17+
418
Version 30.0.1
519
-----------------
620

@@ -74,7 +88,7 @@ Version 21.1.8.1
7488
----------------
7589

7690
- Upgrade to latest boilerplate skeletton
77-
- Improve detection of Windows executables
91+
- Improve detection of Windows executables
7892

7993

8094
Version 20.10.20

MANIFEST.in

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,26 @@
11
graft src
2+
graft docs
3+
graft etc
24

35
include *.LICENSE
46
include NOTICE
57
include *.ABOUT
68
include *.toml
79
include *.yml
810
include *.rst
11+
include *.png
912
include setup.*
1013
include configure*
1114
include requirements*
1215
include .giti*
16+
include .dockerignore
17+
include .gitignore
18+
include .readthedocs.yml
19+
include manage.py
20+
include Dockerfile*
21+
include Makefile
22+
include MANIFEST.in
1323

14-
global-exclude *.py[co] __pycache__ *.*~
24+
include .VERSION
1525

26+
global-exclude *.py[co] __pycache__ *.*~

Makefile

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# ScanCode is a trademark of nexB Inc.
55
# SPDX-License-Identifier: Apache-2.0
66
# See http://www.apache.org/licenses/LICENSE-2.0 for the license text.
7-
# See https://github.com/nexB/skeleton for support or download.
7+
# See https://github.com/aboutcode-org/skeleton for support or download.
88
# See https://aboutcode.org for more information about nexB OSS projects.
99
#
1010

@@ -13,31 +13,33 @@ PYTHON_EXE?=python3
1313
VENV=venv
1414
ACTIVATE?=. ${VENV}/bin/activate;
1515

16-
dev:
17-
@echo "-> Configure the development envt."
18-
./configure --dev
1916

20-
isort:
21-
@echo "-> Apply isort changes to ensure proper imports ordering"
22-
${VENV}/bin/isort --sl -l 100 src tests setup.py
17+
conf:
18+
@echo "-> Install dependencies"
19+
./configure
2320

24-
black:
25-
@echo "-> Apply black code formatter"
26-
${VENV}/bin/black -l 100 src tests setup.py
21+
dev:
22+
@echo "-> Configure and install development dependencies"
23+
./configure --dev
2724

2825
doc8:
2926
@echo "-> Run doc8 validation"
30-
@${ACTIVATE} doc8 --max-line-length 100 --ignore-path docs/_build/ --quiet docs/
27+
@${ACTIVATE} doc8 --quiet docs/ *.rst
3128

32-
valid: isort black
29+
valid:
30+
@echo "-> Run Ruff format"
31+
@${ACTIVATE} ruff format
32+
@echo "-> Run Ruff linter"
33+
@${ACTIVATE} ruff check --fix
3334

3435
check:
35-
@echo "-> Run pycodestyle (PEP8) validation"
36-
@${ACTIVATE} pycodestyle --max-line-length=100 --exclude=.eggs,venv,lib,thirdparty,docs,migrations,settings.py,.cache .
37-
@echo "-> Run isort imports ordering validation"
38-
@${ACTIVATE} isort --sl --check-only -l 100 setup.py src tests .
39-
@echo "-> Run black validation"
40-
@${ACTIVATE} black --check --check -l 100 src tests setup.py
36+
@echo "-> Run Ruff linter validation (pycodestyle, bandit, isort, and more)"
37+
@${ACTIVATE} ruff check
38+
@echo "-> Run Ruff format validation"
39+
@${ACTIVATE} ruff format --check
40+
@$(MAKE) doc8
41+
@echo "-> Run ABOUT files validation"
42+
@${ACTIVATE} about check etc/
4143

4244
clean:
4345
@echo "-> Clean the Python env"
@@ -49,6 +51,10 @@ test:
4951

5052
docs:
5153
rm -rf docs/_build/
52-
@${ACTIVATE} sphinx-build docs/ docs/_build/
54+
@${ACTIVATE} sphinx-build docs/source docs/_build/
55+
56+
docs-check:
57+
@${ACTIVATE} sphinx-build -E -W -b html docs/source docs/_build/
58+
@${ACTIVATE} sphinx-build -E -W -b linkcheck docs/source docs/_build/
5359

54-
.PHONY: conf dev check valid black isort clean test docs
60+
.PHONY: conf dev check valid clean test docs docs-check

NOTICE

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
#
2-
# Copyright (c) nexB Inc. and others. All rights reserved.
2+
# Copyright (c) nexB Inc. and others.
3+
# SPDX-License-Identifier: Apache-2.0
4+
#
5+
# Visit https://aboutcode.org and https://github.com/aboutcode-org/ for support and download.
36
# ScanCode is a trademark of nexB Inc.
47
# SPDX-License-Identifier: Apache-2.0
58
# See http://www.apache.org/licenses/LICENSE-2.0 for the license text.

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ system, use the `minimal` option::
3131
In this case, you will need to provide a working libmagic and its database
3232
available in one of these ways:
3333

34-
- **a typecode-libmagic plugin**: See the standard ones at
34+
- **a typecode-libmagic plugin**: See the standard ones at
3535
https://github.com/nexB/scancode-plugins/tree/main/builtins
3636
These can either bundle a libmagic library and its magic database or expose a
3737
system-installed libmagic.

azure-pipelines.yml

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,62 @@
1-
21
################################################################################
32
# We use Azure to run the full tests suites on multiple Python 3.x
43
# on multiple Windows, macOS and Linux versions all on 64 bits
54
# These jobs are using VMs with Azure-provided Python builds
65
################################################################################
76

87
jobs:
9-
108
- template: etc/ci/azure-posix.yml
119
parameters:
12-
job_name: ubuntu20_cpython
13-
image_name: ubuntu-20.04
14-
python_versions: ['3.7', '3.8', '3.9', '3.10', '3.11']
10+
job_name: run_code_checks
11+
image_name: ubuntu-24.04
12+
python_versions: ['3.13']
1513
test_suites:
16-
all: venv/bin/pytest -n 2 -vvs
14+
all: make check
1715

1816
- template: etc/ci/azure-posix.yml
1917
parameters:
2018
job_name: ubuntu22_cpython
2119
image_name: ubuntu-22.04
22-
python_versions: ['3.7', '3.8', '3.9', '3.10', '3.11']
20+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
2321
test_suites:
2422
all: venv/bin/pytest -n 2 -vvs
2523

2624
- template: etc/ci/azure-posix.yml
2725
parameters:
28-
job_name: macos11_cpython
29-
image_name: macos-11
30-
python_versions: ['3.7', '3.8', '3.9', '3.10', '3.11']
26+
job_name: ubuntu24_cpython
27+
image_name: ubuntu-24.04
28+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
3129
test_suites:
3230
all: venv/bin/pytest -n 2 -vvs
3331

3432
- template: etc/ci/azure-posix.yml
3533
parameters:
36-
job_name: macos12_cpython
37-
image_name: macos-12
38-
python_versions: ['3.7', '3.8', '3.9', '3.10', '3.11']
34+
job_name: macos14_cpython
35+
image_name: macOS-14
36+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
3937
test_suites:
4038
all: venv/bin/pytest -n 2 -vvs
4139

42-
- template: etc/ci/azure-win.yml
40+
- template: etc/ci/azure-posix.yml
4341
parameters:
44-
job_name: win2019_cpython
45-
image_name: windows-2019
46-
python_versions: ['3.7', '3.8', '3.9', '3.10', '3.11']
42+
job_name: macos15_cpython
43+
image_name: macOS-15
44+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
4745
test_suites:
48-
all: venv\Scripts\pytest -n 2 -vvs
46+
all: venv/bin/pytest -n 2 -vvs
4947

5048
- template: etc/ci/azure-win.yml
5149
parameters:
5250
job_name: win2022_cpython
5351
image_name: windows-2022
54-
python_versions: ['3.7', '3.8', '3.9', '3.10', '3.11']
52+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
53+
test_suites:
54+
all: venv\Scripts\pytest -n 2 -vvs
55+
56+
- template: etc/ci/azure-win.yml
57+
parameters:
58+
job_name: win2025_cpython
59+
image_name: windows-2025
60+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
5561
test_suites:
5662
all: venv\Scripts\pytest -n 2 -vvs

0 commit comments

Comments
 (0)