-
Notifications
You must be signed in to change notification settings - Fork 47
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into ROCKS-936/make-rockcraft-pull-chisel-at-pack…
…-time
- Loading branch information
Showing
27 changed files
with
1,639 additions
and
170 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,160 @@ | ||
:tocdepth: 2 | ||
|
||
.. Check out the bottom of the page for the release template | ||
Changelog | ||
********* | ||
|
||
1.6.0 (2024-Oct-17) | ||
------------------- | ||
|
||
Core | ||
==== | ||
|
||
- Rockcraft 1.6.0 updates Pydantic, the internal library | ||
used to process ``rockcraft.yaml`` files, to a new major version. This change | ||
should not have any user-visible consequences, but please report any issues on | ||
`GitHub <https://github.com/canonical/rockcraft/issues>`_. | ||
- Managed (non-destructive) runs now fail as expected if the build plan is | ||
empty. For example, trying to build a project with only ``amd64`` in its | ||
``platforms`` will now fail when building on a non-amd64 | ||
machine. | ||
- ``package-repositories`` entries now support ``series`` and ``pocket`` for | ||
``apt`` repositories, and ``key-id`` for PPAs. | ||
|
||
Bases | ||
##### | ||
|
||
``bare`` | ||
"""""""" | ||
|
||
- ``bare``-based rocks now have a default ``PATH`` value set on the image, | ||
following the behaviour of ``Pebble`` services. | ||
|
||
Plugins | ||
####### | ||
|
||
``poetry`` | ||
"""""""""" | ||
|
||
- Add a new plugin for Python projects that use the `Poetry`_ build system. | ||
|
||
Extensions | ||
########## | ||
|
||
fastapi-framework | ||
""""""""""""""""" | ||
|
||
- Add a new ``fastapi-framework`` extension for `FastAPI`_-based projects. | ||
|
||
flask-framework | ||
""""""""""""""" | ||
|
||
- On ``bare``-based rocks, the extension now uses Chisel slices for the Python | ||
interpreter. | ||
- Add support for the ``[email protected]`` base. | ||
|
||
django-framework | ||
"""""""""""""""" | ||
|
||
- The ``django-framework`` extension is now stable and no longer requires the | ||
``ROCKCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS`` environment variable. | ||
- Add support for the ``[email protected]`` base. | ||
|
||
go-framework | ||
"""""""""""" | ||
|
||
- Add a new ``go-framework`` extension for Go-based projects. | ||
|
||
Command line | ||
============ | ||
|
||
- Improve reporting of builds that fail because they match multiple platforms. | ||
- Improve error messages for invalid ``rockcraft.yaml`` files. | ||
- The ``pack`` command now supports ``--shell`` and ``--shell-after``, and | ||
correctly handles cases where the packing itself fails and the ``--debug`` | ||
argument is passed. | ||
- The ``clean`` command now supports the ``--platform`` argument to filter which | ||
build environments to clean. | ||
- Positional arguments are now correctly displayed on the ``help`` output of | ||
commands. | ||
- The terminal cursor is now hidden during execution. | ||
|
||
Init | ||
==== | ||
|
||
- Add new ``--profile`` argument options for ``go-framework`` and | ||
``fastapi-framework``. | ||
|
||
Documentation | ||
============= | ||
|
||
- Add :ref:`reference documentation <craft_parts_poetry_plugin>` for the new | ||
``poetry`` plugin. | ||
- Add a :ref:`how-to guide <add_internal_user_to_a_rock>` on adding internal | ||
users to rocks. | ||
- Improve the ``flask-framework`` | ||
:ref:`tutorial <build-a-rock-for-a-flask-application>` based on user feedback. | ||
- Add a :ref:`tutorial <build-a-rock-for-a-django-application>` for the | ||
``django-framework`` extension. | ||
- Add a :ref:`tutorial <build-a-rock-for-a-fastapi-application>` for the | ||
``fastapi-framework`` extension. | ||
|
||
For a complete list of commits, check out the `1.6.0`_ release on GitHub. | ||
|
||
|
||
.. _FastAPI: https://fastapi.tiangolo.com | ||
.. _Poetry: https://python-poetry.org | ||
|
||
.. _1.6.0: https://github.com/canonical/rockcraft/releases/tag/1.6.0 | ||
|
||
.. | ||
release template: | ||
X.Y.Z (YYYY-MMM-DD) | ||
------------------- | ||
|
||
Core | ||
==== | ||
|
||
# for everything related to the lifecycle of packing a rock | ||
|
||
Bases | ||
##### | ||
|
||
<[email protected]> | ||
"""""""""""""" | ||
(order from newest base to oldest base) | ||
|
||
Plugins | ||
####### | ||
|
||
<plugin> | ||
"""""""" | ||
|
||
Extensions | ||
########## | ||
|
||
<extension> | ||
""""""""""" | ||
|
||
Metadata | ||
######## | ||
|
||
Sources | ||
####### | ||
|
||
|
||
Command line | ||
============ | ||
|
||
# for command line and UX changes | ||
|
||
Init | ||
==== | ||
|
||
|
||
Documentation | ||
============= | ||
|
||
For a complete list of commits, check out the `X.Y.Z`_ release on GitHub. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
.. _fastapi-framework-reference: | ||
|
||
fastapi-framework | ||
----------------- | ||
|
||
The FastAPI extension streamlines the process of building FastAPI application | ||
rocks. | ||
|
||
It facilitates the installation of FastAPI application dependencies, including | ||
Uvicorn, inside the rock. Additionally, it transfers your project files to | ||
``/app`` within the rock. | ||
|
||
.. note:: | ||
The FastAPI extension is compatible with the ``bare`` and ``[email protected]`` | ||
bases. | ||
|
||
Project requirements | ||
==================== | ||
|
||
There are 2 requirements to be able to use the ``fastapi-framework`` extension: | ||
|
||
1. There must be a ``requirements.txt`` file in the root of the project with | ||
``fastapi`` declared as a dependency | ||
2. The project must include a ASGI app in a variable called ``app`` in one of | ||
the following files relative to the project root (in order of priority): | ||
|
||
* ``app.py`` | ||
* ``main.py`` | ||
* ``__init__.py``, ``app.py`` or ``main.py`` within the ``app`` or ``src`` | ||
directory or within a directory with the name of the rock as declared in | ||
``rockcraft.yaml``. | ||
|
||
``parts`` > ``fastapi-framework/install-app`` > ``prime`` | ||
========================================================= | ||
|
||
You can use this field to specify the files to be included or excluded from | ||
your rock upon ``rockcraft pack``. Follow the ``app/<filename>`` notation. For | ||
example: | ||
|
||
.. code-block:: yaml | ||
parts: | ||
fastapi-framework/install-app: | ||
prime: | ||
- app/.env | ||
- app/app.py | ||
- app/webapp | ||
- app/templates | ||
- app/static | ||
Some files, if they exist, are included by default. These include: | ||
``app``, ``src``, ``<rock name>``, ``app.py``, ``migrate``, ``migrate.sh``, | ||
``migrate.py``, ``static``, ``templates``. | ||
|
||
Useful links | ||
============ | ||
|
||
- :ref:`build-a-rock-for-a-fastapi-application` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,3 +13,4 @@ initiating a new rock. | |
|
||
flask-framework | ||
django-framework | ||
fastapi-framework |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,3 +15,4 @@ Rockcraft's components, commands and keywords. | |
Extensions <extensions/index> | ||
plugins | ||
parts_steps | ||
changelog |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.