Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2.6.2 #49

Merged
merged 1 commit into from
Sep 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions build_manylinux_wheels_entry_point.sh
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ function repair_wheel {
# Return 0 if the python version shouldn't be skipped
function skip_not_supported_python_version {
pybin="$1"

# Skip Python 3.5, 3.6, and 3.7 (too old)
if [[ "$pybin" == /opt/python/cp35-cp35m/bin ]]; then
return 1
Expand All @@ -52,7 +52,7 @@ function skip_not_supported_python_version {
if [[ "$pybin" == /opt/python/cp37-cp37m/bin ]]; then
return 1
fi

# Skip Python 3.12 and 3.13(not supported yet)
if [[ "$pybin" == /opt/python/cp312-cp312/bin ]]; then
return 1
Expand All @@ -63,8 +63,7 @@ function skip_not_supported_python_version {
if [[ "$pybin" == /opt/python/cp313-cp313t/bin ]]; then
return 1
fi



return 0
}

Expand Down Expand Up @@ -94,7 +93,7 @@ if [ -z "$(ls -A wheelhouse/"$PLAT")" ]; then
fi

# Install packages and test
for PYBIN in /opt/python/cp3*/bin; do
for PYBIN in /opt/python/cp3*/bin; do
if ! skip_not_supported_python_version "$PYBIN"; then
continue
fi
Expand Down
5 changes: 5 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Changelog

## 2.6.2
- Copyright in `update_default_resoruces.c` created with Izuma Networks and current year.
- Updated `cryptography` to version `43.0.1`.
- Updated `requests` to version `2.32.0`.

## 2.6.1
- Drop support for Python 3.7.
- Python 3.7 is end of life.
Expand Down
54 changes: 29 additions & 25 deletions dev-README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,44 +87,48 @@ the resulting archive (`tar.gz`) will be found under `dist` directory
> command.

## manylinux wheels
PyPi does not allows uploading platform-specific wheel. More details can be
PyPi does not allow uploading platform-specific wheels. More details can be
found here: [PEP-0513](https://www.python.org/dev/peps/pep-0513/#rationale).

To create [manylinux](https://github.com/pypa/manylinux) wheel files
execute following script: `./build_manylinux_wheels.sh`.
> Note: this will require `docker` command. Make sure you have installed docker.
execute the following script: `./build_manylinux_wheels.sh`.
> Note: this will require the `docker` command. Make sure you have installed docker.

## Dependent packages versions
Dependent packages version should be tested with both lower and higher
bound. Tox tests with new virtual env where all the latest versions will
Dependent package versions should be tested with both lower and higher
bounds. Tox tests with new virtual env where all the latest versions will
be installed.
When issuing a new release:
- test lower bound versions - if they are still applicable to latest
changes.
- bump the higher bound versions and test against them.

We must freeze upper bound versions to the version which were tested at
We must freeze upper-bound versions to the version which were tested at
the release creation time.

## Publish release
1. Update `requirements.txt` to dependencies latest version.
1. Bump the package [version](./manifesttool/__init__.py) and tar name in [tox.ini](./tox.ini).
1. Set the development environment by running `dev_init.sh` on Linux/Mac or `dev_init.bat` on Windows.
1. Run `tox` on Windows, Linux and Mac.
1. Create release on GitHub.
1. Run `build_manylinux_wheels.sh` on Linux. The dist folder should contain 4 wheels for every Linux distribution (16 wheels overall).
1. Gather all the wheels and 1 tar.gz from all `dist` folders from 3 OSes (Windows, Linux, Mac) into one dist folder:
```
scp $USER@<source base path>/manifest-tool/dist/*.whl dist/
```
1. Install `twine`: `pip install twine`.
1. Publish to https://test.pypi.org and check:
```
twine upload -r testpypi dist/*
```
1. Publish to https://pypi.org:
```
twine upload dist/*
```
1. In the `manifest-tool-internal` repository:
1. Update `requirements.txt` to dependencies latest version.
1. Bump the package [version](./manifesttool/__init__.py) and tar name in [tox.ini](./tox.ini).
1. Create a PR with the above changes and merge it to the master branch.
1. Check that the `PR-checker` workflow passes on the master branch. It runs all the tox tests on all the OSes.
1. Check that the `create-Linux-wheels` workflow passes on the master branch. It builds the Linux wheels.
1. Compare manually between the `manifest-tool-internal` repo and the `manifest-tool` repo. Copy the required changes to the `manifest-tool` repo.
1. In the `manifest-tool` repository:
1. Create a PR with the changes to master. Merge it after successful PR checks and approval.
1. Check that the `PR-checker` workflow passes on the master branch. It runs all the tox tests on all the OSes.
1. Check that the `create-Linux-wheels` workflow passes on the master branch. It builds the Linux wheels and uploads them as an artifact.
1. Download the `wheels.zip` artifact to your local machine from the `create-Linux-wheels` workflow.
1. Extract the `wheels.zip` to a folder - <dist-folder>
1. Install `twine`: `pip install twine`.
1. Publish to https://test.pypi.org and check:
```
twine upload -r testpypi <dist-folder>/*
```
1. Publish to https://pypi.org:
```
twine upload <dist-folder>/*
```
1. Yank older pre-releases in https://pypi.org/manage/project/manifest-tool/releases/
1. Close fixed issues
1. Create a tag and a release in `manifest-tool-internal` and `manifest-tool` repos.
2 changes: 1 addition & 1 deletion manifesttool/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@
# limitations under the License.
# ----------------------------------------------------------------------------

__version__ = "2.6.1"
__version__ = "2.6.2"
2 changes: 1 addition & 1 deletion manifesttool/dev_tool/actions/code_template.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// ----------------------------------------------------------------------------
// Copyright 2019-2021 Pelion
// Copyright {year} Izuma Networks
//
// SPDX-License-Identifier: Apache-2.0
//
Expand Down
1 change: 1 addition & 0 deletions manifesttool/dev_tool/actions/init.py
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@ def generate_update_default_resources_c(

c_source.write_text(
template.format(
year=time.strftime("%Y"),
vendor_id=vendor_id_str,
class_id=class_id_str,
cert=cert_str,
Expand Down
4 changes: 2 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
PyYAML>=6.0,<7.0.0a
asn1ate>=0.5,<=0.6.0
cryptography==42.0.7
cryptography==43.0.1
jsonschema>=2.6.0,<=3.2.0
pyasn1>=0.3.1,<=0.4.8
requests==2.31
requests==2.32
4 changes: 2 additions & 2 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ----------------------------------------------------------------------------
# Copyright 2019-2021 Pelion
# Copyright (c) 2022 Izuma Networks
# Copyright (c) 2022-2024 Izuma Networks
#
# SPDX-License-Identifier: Apache-2.0
#
Expand Down Expand Up @@ -63,7 +63,7 @@ skip_install=True
deps =
# FIXME - use '{envpython} setup.py --fullname'
setenv =
SDIST_TAR_NAME = manifest_tool-2.6.1.tar.gz
SDIST_TAR_NAME = manifest_tool-2.6.2.tar.gz
commands =
{envpython} setup.py egg_info
{envpython} setup.py sdist
Expand Down
Loading