Skip to content

Commit d55e39e

Browse files
committed
Merge branch 'main' into 3.11
2 parents c6c36af + 912f2d9 commit d55e39e

17 files changed

+397
-571
lines changed

.github/workflows/ci.yaml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: CI
2+
on:
3+
pull_request:
4+
5+
env:
6+
FORCE_COLOR: "1"
7+
8+
defaults:
9+
run:
10+
shell: bash
11+
12+
# Cancel active CI runs for a PR before starting another run
13+
concurrency:
14+
group: ${{ github.ref }}
15+
cancel-in-progress: true
16+
17+
jobs:
18+
build:
19+
runs-on: macOS-latest
20+
strategy:
21+
fail-fast: false
22+
matrix:
23+
target: ['macOS', 'iOS', 'tvOS', 'watchOS']
24+
include:
25+
- briefcase-run-args:
26+
- run-tests: false
27+
28+
- target: macOS
29+
run-tests: true
30+
31+
- target: iOS
32+
briefcase-run-args: ' -d "iPhone SE (3rd generation)"'
33+
run-tests: true
34+
35+
steps:
36+
- uses: actions/[email protected]
37+
38+
- name: Extract config variables
39+
id: config-vars
40+
run: |
41+
PYTHON_VER=$(make config | grep "PYTHON_VER=" | cut -d "=" -f 2)
42+
echo "PYTHON_VER=${PYTHON_VER}" | tee -a ${GITHUB_OUTPUT}
43+
44+
- name: Set up Python
45+
uses: actions/[email protected]
46+
with:
47+
# Appending -dev ensures that we can always build the dev release.
48+
# It's a no-op for versions that have been published.
49+
python-version: ${{ steps.config-vars.outputs.PYTHON_VER }}-dev
50+
51+
- name: Build ${{ matrix.target }}
52+
run: |
53+
# Do the build for the requested target.
54+
make ${{ matrix.target }}
55+
56+
- name: Upload build artefacts
57+
uses: actions/[email protected]
58+
with:
59+
name: Python-${{ steps.config-vars.outputs.PYTHON_VER }}-${{ matrix.target }}-support.custom.tar.gz
60+
path: dist/Python-${{ steps.config-vars.outputs.PYTHON_VER }}-${{ matrix.target }}-support.custom.tar.gz
61+
62+
- uses: actions/[email protected]
63+
if: matrix.run-tests
64+
with:
65+
repository: beeware/Python-support-testbed
66+
path: Python-support-testbed
67+
# TODO - remove the py3.13 reference option.
68+
ref: py3.13-support
69+
70+
- name: Install dependencies
71+
if: matrix.run-tests
72+
run: |
73+
# TODO - Revert to the development version of Briefcase
74+
# Use the development version of Briefcase
75+
# python -m pip install git+https://github.com/beeware/briefcase.git
76+
python -m pip install git+https://github.com/freakboy3742/briefcase.git@version-bumps
77+
78+
- name: Run support testbed check
79+
if: matrix.run-tests
80+
timeout-minutes: 10
81+
working-directory: Python-support-testbed
82+
# TODO - remove the template_branch option.
83+
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\'

.github/workflows/publish.yaml

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
- uses: actions/checkout@v4
1212

1313
- name: Set up Python environment
14-
uses: actions/setup-python@v4.7.1
14+
uses: actions/setup-python@v5.1.1
1515
with:
1616
python-version: "3.X"
1717

@@ -20,17 +20,13 @@ jobs:
2020
env:
2121
TAG_NAME: ${{ github.ref }}
2222
run: |
23-
export TAG=$(basename $TAG_NAME)
24-
echo "TAG=${TAG}"
25-
export PYTHON_VER="${TAG%-*}"
26-
export BUILD_NUMBER="${TAG#*-}"
23+
TAG=$(basename $TAG_NAME)
24+
PYTHON_VER="${TAG%-*}"
25+
BUILD_NUMBER="${TAG#*-}"
2726
28-
echo "PYTHON_VER=${PYTHON_VER}"
29-
echo "BUILD_NUMBER=${BUILD_NUMBER}"
30-
31-
echo "TAG=${TAG}" >> ${GITHUB_OUTPUT}
32-
echo "PYTHON_VER=${PYTHON_VER}" >> ${GITHUB_OUTPUT}
33-
echo "BUILD_NUMBER=${BUILD_NUMBER}" >> ${GITHUB_OUTPUT}
27+
echo "TAG=${TAG}" | tee -a ${GITHUB_OUTPUT}
28+
echo "PYTHON_VER=${PYTHON_VER}" | tee -a ${GITHUB_OUTPUT}
29+
echo "BUILD_NUMBER=${BUILD_NUMBER}" | tee -a ${GITHUB_OUTPUT}
3430
3531
- name: Update Release Asset to S3
3632
env:

.github/workflows/release.yaml

Lines changed: 29 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ on:
99

1010
jobs:
1111
build:
12+
name: Build
1213
runs-on: macOS-latest
1314
outputs:
1415
TAG: ${{ steps.build-vars.outputs.TAG }}
@@ -21,29 +22,26 @@ jobs:
2122
OPENSSL_VERSION: ${{ steps.version-details.outputs.OPENSSL_VERSION }}
2223
strategy:
2324
matrix:
24-
target: ['macOS', 'iOS', 'tvOS', 'watchOS']
25+
target: [ "macOS", "iOS", "tvOS", "watchOS" ]
2526
steps:
26-
- uses: actions/checkout@v4
27+
- name: Checkout
28+
uses: actions/[email protected]
2729

28-
- name: Set build variables
30+
- name: Set Build Variables
2931
id: build-vars
3032
env:
3133
TAG_NAME: ${{ github.ref }}
3234
run: |
3335
export TAG=$(basename $TAG_NAME)
34-
echo "TAG=${TAG}"
3536
export PYTHON_VER="${TAG%-*}"
3637
export BUILD_NUMBER="${TAG#*-}"
3738
38-
echo "PYTHON_VER=${PYTHON_VER}"
39-
echo "BUILD_NUMBER=${BUILD_NUMBER}"
40-
41-
echo "TAG=${TAG}" >> ${GITHUB_OUTPUT}
42-
echo "PYTHON_VER=${PYTHON_VER}" >> ${GITHUB_OUTPUT}
43-
echo "BUILD_NUMBER=${BUILD_NUMBER}" >> ${GITHUB_OUTPUT}
39+
echo "TAG=${TAG}" | tee -a ${GITHUB_OUTPUT}
40+
echo "PYTHON_VER=${PYTHON_VER}" | tee -a ${GITHUB_OUTPUT}
41+
echo "BUILD_NUMBER=${BUILD_NUMBER}" | tee -a ${GITHUB_OUTPUT}
4442
4543
- name: Set up Python
46-
uses: actions/setup-python@v4.7.1
44+
uses: actions/setup-python@v5.1.1
4745
with:
4846
python-version: "${{ steps.build-vars.outputs.PYTHON_VER }}-dev"
4947

@@ -52,46 +50,42 @@ jobs:
5250
# Do the build for the requested target.
5351
make ${{ matrix.target }} BUILD_NUMBER=${{ steps.build-vars.outputs.BUILD_NUMBER }}
5452
55-
- name: Extract version details
53+
- name: Extract Version Details
5654
id: version-details
5755
run: |
58-
export PYTHON_VERSION=$(grep "Python version:" support/${{ steps.build-vars.outputs.PYTHON_VER }}/${{ matrix.target }}/VERSIONS | cut -d " " -f 3)
59-
export BZIP2_VERSION=$(grep "BZip2:" support/${{ steps.build-vars.outputs.PYTHON_VER }}/${{ matrix.target }}/VERSIONS | cut -d " " -f 2)
60-
export XZ_VERSION=$(grep "XZ:" support/${{ steps.build-vars.outputs.PYTHON_VER }}/${{ matrix.target }}/VERSIONS | cut -d " " -f 2)
61-
export OPENSSL_VERSION=$(grep "OpenSSL:" support/${{ steps.build-vars.outputs.PYTHON_VER }}/${{ matrix.target }}/VERSIONS | cut -d " " -f 2)
62-
export LIBFFI_VERSION=$(grep "libFFI:" support/${{ steps.build-vars.outputs.PYTHON_VER }}/${{ matrix.target }}/VERSIONS | cut -d " " -f 2)
63-
64-
echo "PYTHON_VERSION=${PYTHON_VERSION}"
65-
echo "BZIP2_VERSION=${BZIP2_VERSION}"
66-
echo "XZ_VERSION=${XZ_VERSION}"
67-
echo "OPENSSL_VERSION=${OPENSSL_VERSION}"
68-
echo "LIBFFI_VERSION=${LIBFFI_VERSION}"
56+
PYTHON_VERSION=$(grep "Python version:" support/${{ steps.build-vars.outputs.PYTHON_VER }}/${{ matrix.target }}/VERSIONS | cut -d " " -f 3)
57+
BZIP2_VERSION=$(grep "BZip2:" support/${{ steps.build-vars.outputs.PYTHON_VER }}/${{ matrix.target }}/VERSIONS | cut -d " " -f 2)
58+
XZ_VERSION=$(grep "XZ:" support/${{ steps.build-vars.outputs.PYTHON_VER }}/${{ matrix.target }}/VERSIONS | cut -d " " -f 2)
59+
OPENSSL_VERSION=$(grep "OpenSSL:" support/${{ steps.build-vars.outputs.PYTHON_VER }}/${{ matrix.target }}/VERSIONS | cut -d " " -f 2)
60+
LIBFFI_VERSION=$(grep "libFFI:" support/${{ steps.build-vars.outputs.PYTHON_VER }}/${{ matrix.target }}/VERSIONS | cut -d " " -f 2)
6961
70-
echo "PYTHON_VERSION=${PYTHON_VERSION}" >> ${GITHUB_OUTPUT}
71-
echo "BZIP2_VERSION=${BZIP2_VERSION}" >> ${GITHUB_OUTPUT}
72-
echo "XZ_VERSION=${XZ_VERSION}" >> ${GITHUB_OUTPUT}
73-
echo "OPENSSL_VERSION=${OPENSSL_VERSION}" >> ${GITHUB_OUTPUT}
74-
echo "LIBFFI_VERSION=${LIBFFI_VERSION}" >> ${GITHUB_OUTPUT}
62+
echo "PYTHON_VERSION=${PYTHON_VERSION}" | tee -a ${GITHUB_OUTPUT}
63+
echo "BZIP2_VERSION=${BZIP2_VERSION}" | tee -a ${GITHUB_OUTPUT}
64+
echo "XZ_VERSION=${XZ_VERSION}" | tee -a ${GITHUB_OUTPUT}
65+
echo "OPENSSL_VERSION=${OPENSSL_VERSION}" | tee -a ${GITHUB_OUTPUT}
66+
echo "LIBFFI_VERSION=${LIBFFI_VERSION}" | tee -a ${GITHUB_OUTPUT}
7567
76-
- name: Upload build artifact
77-
uses: actions/upload-artifact@v3.1.3
68+
- name: Upload Build Artifact
69+
uses: actions/upload-artifact@v4.3.5
7870
with:
79-
name: dist
80-
path: "dist"
71+
name: dist-${{ matrix.target }}
72+
path: dist
8173
if-no-files-found: error
8274

8375
make-release:
76+
name: Make Release
8477
runs-on: ubuntu-latest
8578
needs: build
8679
steps:
8780
- name: Get build artifacts
88-
uses: actions/download-artifact@v3.0.2
81+
uses: actions/download-artifact@v4.1.8
8982
with:
90-
name: dist
83+
pattern: dist-*
9184
path: dist
85+
merge-multiple: true
9286

9387
- name: Create Release
94-
uses: ncipollo/release-action@v1.13.0
88+
uses: ncipollo/release-action@v1.14.0
9589
with:
9690
name: ${{ needs.build.outputs.PYTHON_VER }}-${{ needs.build.outputs.BUILD_NUMBER }}
9791
tag: ${{ needs.build.outputs.PYTHON_VER }}-${{ needs.build.outputs.BUILD_NUMBER }}

0 commit comments

Comments
 (0)