-
-
Notifications
You must be signed in to change notification settings - Fork 378
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 download-stub
- Loading branch information
Showing
24 changed files
with
342 additions
and
262 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,6 +5,11 @@ on: | |
branches: | ||
- main | ||
workflow_call: | ||
inputs: | ||
attest-package: | ||
description: "Create GitHub provenance attestation for the package." | ||
default: "false" | ||
type: string | ||
outputs: | ||
artifact-name: | ||
description: "Name of the uploaded artifact; use for artifact retrieval." | ||
|
@@ -32,10 +37,24 @@ jobs: | |
uses: beeware/.github/.github/workflows/towncrier-run.yml@main | ||
|
||
package: | ||
name: Python package | ||
name: Package Briefcase | ||
permissions: | ||
id-token: write | ||
contents: read | ||
attestations: write | ||
uses: beeware/.github/.github/workflows/python-package-create.yml@main | ||
with: | ||
tox-factors: -with-automation | ||
attest: ${{ inputs.attest-package }} | ||
|
||
package-automation: | ||
name: Package Automation | ||
permissions: | ||
id-token: write | ||
contents: read | ||
attestations: write | ||
uses: beeware/.github/.github/workflows/python-package-create.yml@main | ||
with: | ||
build-subdirectory: "automation" | ||
|
||
unit-tests: | ||
name: Unit tests | ||
|
@@ -82,12 +101,11 @@ jobs: | |
name: ${{ needs.package.outputs.artifact-name }} | ||
path: dist | ||
|
||
- name: Install dev Dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install --upgrade setuptools build wheel | ||
# Utility script installs tox as defined in pyproject.toml | ||
python -m install_requirement tox --extra dev | ||
- name: Install Tox | ||
uses: beeware/.github/.github/actions/install-requirement@main | ||
with: | ||
requirements: tox | ||
extra: dev | ||
|
||
- name: Test | ||
id: test | ||
|
@@ -129,12 +147,11 @@ jobs: | |
# https://github.com/nedbat/coveragepy/issues/1572#issuecomment-1522546425 | ||
python-version: "3.8" | ||
|
||
- name: Install dev Dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install --upgrade setuptools build wheel | ||
# Utility script installs tox as defined in pyproject.toml | ||
python -m install_requirement tox --extra dev | ||
- name: Install Tox | ||
uses: beeware/.github/.github/actions/install-requirement@main | ||
with: | ||
requirements: tox | ||
extra: dev | ||
|
||
- name: Retrieve Coverage Data | ||
uses: actions/[email protected] | ||
|
@@ -162,7 +179,7 @@ jobs: | |
|
||
verify-projects: | ||
name: Verify project | ||
needs: unit-tests | ||
needs: [ package, package-automation, unit-tests ] | ||
uses: beeware/.github/.github/workflows/app-create-verify.yml@main | ||
with: | ||
runner-os: ${{ matrix.runner-os }} | ||
|
@@ -175,7 +192,7 @@ jobs: | |
|
||
verify-apps: | ||
name: Build app | ||
needs: unit-tests | ||
needs: [ package, package-automation, unit-tests ] | ||
uses: beeware/.github/.github/workflows/app-build-verify.yml@main | ||
with: | ||
# This *must* be the version of Python that is the system Python on the | ||
|
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 |
---|---|---|
|
@@ -9,6 +9,8 @@ jobs: | |
ci: | ||
name: CI | ||
uses: ./.github/workflows/ci.yml | ||
with: | ||
attest-package: "true" | ||
|
||
docs: | ||
name: Verify Docs Build | ||
|
@@ -29,7 +31,7 @@ jobs: | |
steps: | ||
- name: Set build variables | ||
run: | | ||
echo "VERSION=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV | ||
echo "VERSION=${GITHUB_REF_NAME#v}" | tee -a $GITHUB_ENV | ||
- name: Set up Python | ||
uses: actions/[email protected] | ||
|
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 @@ | ||
Documentation on Briefcase's plug-in interfaces was added. |
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 @@ | ||
The new project wizard now includes links to known third-party GUI bootstraps. |
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 @@ | ||
``hynek/build-and-inspect-python-package`` is now used to create the Python package. |
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 @@ | ||
The ``install_requirement.py`` script was removed. |
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 @@ | ||
A UUID cookiecutter extension was added to support Windows MSI templating. |
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 @@ | ||
The warning for specifying the license in pyproject.toml was updated to include additional information. |
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 @@ | ||
Updated coverage[toml] from 7.5.2 to 7.5.3. |
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
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,70 @@ | ||
======== | ||
Plug-ins | ||
======== | ||
|
||
Briefcase ships with support for a range of platforms, output formats and GUI toolkits. | ||
Internally, these features are implemented using a plug-in interface; as a result, it is | ||
possible for third-party projects to add their own features to Briefcase by implementing | ||
plug-ins that satisfy those interfaces. | ||
|
||
Each plug-in is defined using an `entry point | ||
<https://packaging.python.org/en/latest/specifications/entry-points/>`__ definition in | ||
``pyproject.toml``. | ||
|
||
.. _bootstrap-interface: | ||
|
||
``briefcase.bootstraps`` | ||
======================== | ||
|
||
The Briefcase :doc:`new project wizard </reference/commands/new>` asks users to select a | ||
GUI toolkit. The option selected at this step alters the content of the code generated | ||
by the wizard, generating framework-specific requirements, system packages, and stub | ||
code for a new application using that GUI framework. These additions are configured | ||
using a ``briefcase.bootstrap`` plug-in. | ||
|
||
To add a custom ``briefcase.bootstrap`` plug-in, add a | ||
``[project.entry-points."briefcase.platforms"]`` section to your ``pyproject.toml`` | ||
file; each name/value pair under that section will be interpreted as a bootstrap. The | ||
name of each bootstrap setting is the label that will be surfaced to the user in the | ||
wizard. The value is a string identifying a class that implements the | ||
``briefcase.bootstraps.base.BaseGuiBootstrap`` abstract base class. | ||
|
||
For example, the Toga bootstrap is implemented using the following configuration:: | ||
|
||
[project.entry-points."briefcase.bootstraps"] | ||
Toga = "briefcase.bootstraps.toga:TogaGuiBootstrap" | ||
|
||
``briefcase.platforms`` and ``briefcase.formats.*`` | ||
=================================================== | ||
|
||
Each command implemented by Briefcase is specialized by a platform and output format. | ||
This implementation is defined using a pair of plug-ins - a ``briefcase.platforms`` | ||
definition describing a platform, and a ``briefcase.format.<platform>`` definition that | ||
defines the output formats for that platform. | ||
|
||
The ``briefcase.platforms`` entry point defines the existence of a platform. Each name | ||
in this section is name of a platform that can be used when invoking Briefcase commands. | ||
The value is a fully-qualified Python module name that must defines a single constant | ||
``DEFAULT_OUTPUT_FORMAT``. | ||
|
||
Each platform name is then incorporated into the name of a separate ``format`` entry | ||
point. Each entry in the ``format`` section for a platform is the name of an output | ||
format that can be used when invoking Briefcase commands. The value is a fully-qualified | ||
Python module name that defines 7 symbols: | ||
|
||
* ``create`` - a subclass of ``briefcase.commands.create.CreateCommand`` | ||
* ``update`` - a subclass of ``briefcase.commands.create.UpdateCommand`` | ||
* ``open`` - a subclass of ``briefcase.commands.create.OpenCommand`` | ||
* ``build`` - a subclass of ``briefcase.commands.create.BuildCommand`` | ||
* ``run`` - a subclass of ``briefcase.commands.create.RunCommand`` | ||
* ``package`` - a subclass of ``briefcase.commands.create.PackageCommand`` | ||
* ``publish`` - a subclass of ``briefcase.commands.create.PublishCommand`` | ||
|
||
For example, the definition for the macOS Xcode output format is controlled by the | ||
following:: | ||
|
||
[project.entry-points."briefcase.platforms"] | ||
macOS = "briefcase.platforms.macOS" | ||
|
||
[project.entry-points."briefcase.formats.macOS"] | ||
xcode = "briefcase.platforms.macOS.xcode" |
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.