-
-
Notifications
You must be signed in to change notification settings - Fork 205
Switch to a framework-based approach for building support packages. #191
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
Merged
Merged
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
f0c1acd
Extract macOS framework from official binary release.
freakboy3742 9ef6e91
Modify build process to generate frameworks for iOS/tvOS/watchOS.
freakboy3742 b8fcfd7
Update docs describing the framework build and usage.
freakboy3742 323aa5f
Update syntax for github outputs.
freakboy3742 252d48b
Add a makefile target to extract the Makefile config.
freakboy3742 6ec85e7
Add a CI workflow.
freakboy3742 55cf5f9
Add other platforms into CI check.
freakboy3742 fd7051e
Upload build artefacts as part of CI.
freakboy3742 6d6abb0
Add a non-executable stub binary for crossenv detection purposes.
freakboy3742 c0cc333
Updated patch with version that passes CPython CI.
freakboy3742 493dc76
Merge branch 'main' into framework-lib
freakboy3742 c53d7bd
Update to final state of PEP730 patches.
freakboy3742 ad578a9
Use a branch version of Briefcase.
freakboy3742 8a0cd42
Add a timeout for iOS testing.
freakboy3742 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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,83 @@ | ||
| name: CI | ||
| on: | ||
| pull_request: | ||
|
|
||
| env: | ||
| FORCE_COLOR: "1" | ||
|
|
||
| defaults: | ||
| run: | ||
| shell: bash | ||
|
|
||
| # Cancel active CI runs for a PR before starting another run | ||
| concurrency: | ||
| group: ${{ github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| build: | ||
| runs-on: macOS-latest | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| target: ['macOS', 'iOS', 'tvOS', 'watchOS'] | ||
| include: | ||
| - briefcase-run-args: | ||
| - run-tests: false | ||
|
|
||
| - target: macOS | ||
| run-tests: true | ||
|
|
||
| - target: iOS | ||
| briefcase-run-args: ' -d "iPhone SE (3rd generation)"' | ||
| run-tests: true | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v4.1.7 | ||
|
|
||
| - name: Extract config variables | ||
| id: config-vars | ||
| run: | | ||
| PYTHON_VER=$(make config | grep "PYTHON_VER=" | cut -d "=" -f 2) | ||
| echo "PYTHON_VER=${PYTHON_VER}" | tee -a ${GITHUB_OUTPUT} | ||
|
|
||
| - name: Set up Python | ||
| uses: actions/setup-python@v5.1.1 | ||
| with: | ||
| # Appending -dev ensures that we can always build the dev release. | ||
| # It's a no-op for versions that have been published. | ||
| python-version: ${{ steps.config-vars.outputs.PYTHON_VER }}-dev | ||
|
|
||
| - name: Build ${{ matrix.target }} | ||
| run: | | ||
| # Do the build for the requested target. | ||
| make ${{ matrix.target }} | ||
|
|
||
| - name: Upload build artefacts | ||
| uses: actions/upload-artifact@v4.3.4 | ||
| with: | ||
| name: Python-${{ steps.config-vars.outputs.PYTHON_VER }}-${{ matrix.target }}-support.custom.tar.gz | ||
| path: dist/Python-${{ steps.config-vars.outputs.PYTHON_VER }}-${{ matrix.target }}-support.custom.tar.gz | ||
|
|
||
| - uses: actions/checkout@v4.1.7 | ||
| if: matrix.run-tests | ||
| with: | ||
| repository: beeware/Python-support-testbed | ||
| path: Python-support-testbed | ||
| # TODO - remove the py3.13 reference option. | ||
| ref: py3.13-support | ||
|
|
||
| - name: Install dependencies | ||
| if: matrix.run-tests | ||
| run: | | ||
| # TODO - Revert to the development version of Briefcase | ||
| # Use the development version of Briefcase | ||
| # python -m pip install git+https://github.com/beeware/briefcase.git | ||
| python -m pip install git+https://github.com/freakboy3742/briefcase.git@version-bumps | ||
|
|
||
| - name: Run support testbed check | ||
| if: matrix.run-tests | ||
| timeout-minutes: 10 | ||
| working-directory: Python-support-testbed | ||
| # TODO - remove the template_branch option. | ||
| run: briefcase run ${{ matrix.target }} Xcode --test ${{ matrix.briefcase-run-args }} -C support_package=\'../dist/Python-${{ steps.config-vars.outputs.PYTHON_VER }}-${{ matrix.target }}-support.custom.tar.gz\' -C template_branch=\'framework-lib\' | ||
This file contains hidden or 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 hidden or 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.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.