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 2024.01.21 #2959

Merged
merged 21 commits into from
Jan 23, 2024
Merged

Release 2024.01.21 #2959

merged 21 commits into from
Jan 23, 2024

Conversation

misl6
Copy link
Member

@misl6 misl6 commented Jan 21, 2024

Release checklist:

  • Check that the builds are passing
  • Run the tests locally via tox: this performs some long-running tests that are skipped on github-actions.
  • Build and run the on_device_unit_tests app using buildozer. Check that they all pass.
  • Build (or download from github actions) and run the following testapps for multi-arch artifact.
    • on_device_unit_tests
      • multi-arch
  • Check that the version number is correct

misl6 and others added 21 commits September 17, 2023 20:53
Merge master into develop
Update Lottie player version
* Add doc tests, make them pass

* push.yml
   * Added documentation step which installs [docs], checks links and builds documentation to find any errors.
   * Need to install to get all the dependencies, because p4a code is imported during doc generation.
   * Updated rest of checkout action versions to be consistent with new code.

* apis.rst
   * http -> https
   * Disambiguated two modules with the same name.

* buildoptions.rst
   * Corrected indenting

* conf,py
   * Added language
   * Added two URLS to ignore that link-checker was failing even though they worked.

* ext/sphinix_rtd_theme/*
   * Old theme did not work with Sphinx 7.0+.
   * Removed it from source control. Install the latest each time.

* launcher.rst
   * This described an old feature that hasn't worked for years. Couldn't fix the links because the whole feature is gone now. Removed it. If the attempts to bring the feature back ever come to fruition, this can be restored and edited.

* index.rst
   * Removed no-longer-existing anchor,
   * Removed launcher page

* quickstart.rst
   * Removed launcher

* recipe.rst
   * Fixed syntax error in rst.

* services,rst
   * Fixed broken URL (and linked to project rather than bug-tracker.)

* troubleshooting.rst
   * http->https
   * Link to English rather than Chinese web-sites.

* setup.py
   * Add docs as extra.

* Updated with review comments.

* Fix broken links in documentation.

One dead link, causing test to fail.
Several permanent redirects where it is better to use the final destination.

The rest
#2912)

* Remove distutils usage, as is not available anymore on Python 3.12

* Updated testapps to use setuptools instead of distutils
enable json1 extenstion in sqlite3
…txt` and update sphinx conf (#2916)

* Add (now mandatory) .readthedocs.yaml file, add docs requirements.txt and update sphinx conf

* Do not use a double source of truth for docs dependencies. extra_require is great, but unfortunately we can't use it on readthedocs builds
* Introduce  FAQ

Future work:

* Remove much of same info from trouble-shooting section.
* Remove duplicate info from Kivy framework FAQ.
* Link to this from Kivy framework FAQ.

* Apply suggestions from code review

Still to do: Remove obsolete section.

Co-authored-by: Mirko Galimberti <me@mirkogalimberti.com>

* Remove obsolete entry

---------

Co-authored-by: Mirko Galimberti <me@mirkogalimberti.com>
…`hostpython3` and `python3` (#2850)

* python: update to 3.11.5

* scipy: update to 1.11.3

* add `pybind11` to `ci/constants.py` in BROKEN_RECIPES_PYTHON3
* Update Dockerfile to reflect latest requirements

* Increase JDK version on macOS prerequisites

* Force usage of a specific JDK version on macOS

* Update docs to reflect the current status

* Re-order deps in quickstart and Dockerfile
- pyconfig.h was appended twice into WHITELIST_PATTERNS
- Regression from commit a636b88

Co-authored-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Update Contributing Guidelines and Readme

### Contributing Guidelines

* Refer to Kivy for the heavy-lifting, and discuss the *differences* with Kivy.
* Made wording more consistent with other sources.
* Removed empty promise of a release every 4 weeks. That isn't a sustainable rate.
* Very mild copy-edit.

### ReadMe

* Refer to Kivy for details of support, rather than repeating.
* Refer to p4a Contributing Guidelines, rather than repeating
* Refer to Quickstart rather than repeating
* Increased space for all the current sponsors and provisioned a far way into the future.
   * Could have used an SVG here, but the comment promised we would include a link :-(

* Update for review comments

Use nicer alternatives for URLs.
Move History section from README to Contributing Guidelines.

* Make doc structure consistent and up-to-date

This is part of an effort to make the Kivy sibling projects' documentation
structure consistent and up-to-date.

CHECKLIST

* CONTRIBUTING.md
   [x] If repo takes user contributions, is present
   [x] In root dir (not .github dir)
   [x] Explains relationship to Kivy, if unclear.
   [x] Refers to kivy/kivy Contribution Guidelines.
MORE TO GO HERE

* LICENSE
   [x] If repo takes user contributions, is present.
   [x] Acknowledges the range of years to 2023.
   [x] Acknowledges Kivy Team and other contributors
   [x] Mentions it is an MIT License.

* CODE_OF_CONDUCT.md
   [x] If repo takes user contributions or hosts discussions, is present.
   [x] Refers to kivy/kivy CODE_OF_CONDUCT.md

* CONTACT.md
   [x] Refers to kivy/kivy CONTACT.md

* FAQ.md
   [x] If repo is big enough for RST documentation, is present.

* README:
   [x] Is a Markdown file.
   [x] Describes the project.
   [x] Describes its place in the Kivy sibling projects.
   [x] If Documentation exists, mention it.
   [x] If CONTRIBUTING exists, mentions it.
   [x] If LICENSE exists, mentions it.
   [x] If CODE_OF_CONDUCT exists, mentions it.
   [x] Mentions kivy/kivy CONTACT.md
   [NA] Uses Python syntax colouring for embedded Python code.
   [x] Uses badges to display current status, including:
        [x] Backers
		[x] Sponsors
		[x] GitHub contributors
		[x] Contributor Covenant
		[x] PyPI Version
		[x] PyPI Python Version
		[x] Build/Test status

   [x] Displays all contributors to the repo.
   [x] Displays backers
   [x] Displays top sponsors.

* RST documentation, if present
   [x] Describes the project.
   [x] Describes its place in the Kivy sibling projects.
   [x] Mentions (Kivy/Kivy) Contact Us link.
   [x] Mentions LICENSE.
   [x] Mentions CONTRIBUTING
   [x] Mentions FAQ
   [x] conf.py mentioned Kivy Team and other contributors
		- copyright, latex_documents, man_pages, texinfo documents

* WORKFLOWS
   [x] NO_RESPONSE.yml is present if the repo has awaiting_reply tag.
   [x] NO_RESPONSE uses latest script versions.
   [x] NO_RESPONSE runs every day, and skips if forked.
   [x] SUPPORT.yml is present if the repo has a `support` tag.
   [x] SUPPORT.yml refers to repo's CONTACT.md

* setup.py/cfg, if present and on PyPI
   [x] Supplies description to PyPI
   [x] Supplies Python versions to PyPI
   [x] Supplies Documentation, if any, to PyPI

* PEP8 fixes

* Rewrote description of binary formats

Also cleared merge artifact.

This was a response to review comments.
* Update sdl2 deps to reflect the same targeted in kivy/kivy

* Update md5 sum

* Create new patch and set new include dir for sdl_image

* Set pygame as broken recipe

* sdl_image 2.8.0 has been released
* Initial support for PySide6

- Add a new bootstrap for Qt
  - This bootstrap will be used by `pyside6-android-deploy` tool shipped
    with PySide6, which interally calls pythonforandroid using buildozer.
  - The Qt bootstrap depends on recipes PySide6 and shiboken6 among
    other mandatory recipes. The recipes for PySide6 and shiboken6
    resides in the PySide repository -
    https://code.qt.io/cgit/pyside/pyside-setup.git/tree/sources/pyside-tools/deploy_lib/android/recipes
  - The PythonActivity entrypoint class is derived from QtActivity class
    which is the main acitivty class when a Qt C++ application is
    packaged for Android. The jar containing QtActivity class is supplied
    through buildozer `android.add_jars` option.
  - The C wrapper binary to the application main.py is named as
    `main_{abi_name}` instead of just `main` for other bootstraps.
  - Multi architecture deployment is not supported at the moment.
- Adapt tests based on the new Qt bootstrap

* Add Qt boostrap to docs

- update the docs to include sections depicting the Qt boostrap.

* Tweak gradle build properties for Qt bootstrap

- Sometimes a flaky Java heap out of memory error is throw. By,
  tweaking the memory setting we can get rid of that error.

* Fix bug - check for main.py

- Qt boostrap removed from comparison in the changed line because
  its expects a value is args.launcher, which is not applicable for
  Qt boostrap. Hence, it exits with an value not found exception.
- Removing Qt boostrap from the comparison leads to checking
  for main.py or --private, which is to be done for the Qt boostrap.

* Make --init-classes truly optional

- check if empty, otherwise store empty string

* Add a non-gui test app build to CI that uses Qt bootstrap

- for the purpose of testing, the pyside6 and shiboken6 wheels, the
  extra .jar files needed and the recipes for pyside6 and shiboken6
  are manually added into testapps/on_device_unit_tests/test_qt.
  These files are normally generated by the `pyside6-android-deploy`
  tool that is shipped with PySide.
  Generating the wheels and the .jar files belongs to the scope of
  PySide and not python-for-android. Hence, they are not done here.
  This also reduces the load on the CI which will otherwise have to
  cross-compile CPython and PySide.
- The Android aarch64 wheels for testing are downloaded from Qt servers.
  These wheels are for testing purposes only and the download link will
  be updated when official PySide6 Android wheels are generated.
- Tests were added in test_requirements.py so that when running the apk
  the current date and time are printed on the terminal. The tests also
  checks shiboken6 and PySide6 module imports.

* Remove superfluous whitespace removal

- This was introduced by a VSCode setting and is unrealated to this
  patch. Although this might be good, this has to be introduced through
  a different patch.
- pyside6 recipe typo adapted in buildoptions.rst

* Add aab generation to test app with Qt bootstrap

* Fix typo in doc/source/buildoptions.rst

Co-authored-by: Mirko Galimberti <me@mirkogalimberti.com>

---------

Co-authored-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Co-authored-by: Mirko Galimberti <me@mirkogalimberti.com>
@misl6 misl6 merged commit 957a3e5 into master Jan 23, 2024
66 checks passed
@rcnn-retall rcnn-retall mentioned this pull request Jul 19, 2024
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants