diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 36edb3b..e2782b0 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -56,7 +56,7 @@ jobs: XZ_VERSION: ${{ steps.extract.outputs.XZ_VERSION }} steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v5 - name: Extract config variables id: extract @@ -84,7 +84,7 @@ jobs: echo "XZ_VERSION=${XZ_VERSION}" | tee -a ${GITHUB_OUTPUT} build: - runs-on: macOS-latest + runs-on: macOS-15 needs: [ config ] strategy: fail-fast: false @@ -92,7 +92,16 @@ jobs: platform: ['macOS', 'iOS', 'tvOS', 'watchOS', 'visionOS'] steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v5 + + - name: Set up Xcode + # GitHub recommends explicitly selecting the desired Xcode version: + # https://github.com/actions/runner-images/issues/12541#issuecomment-3083850140 + # This became a necessity as a result of + # https://github.com/actions/runner-images/issues/12541 and + # https://github.com/actions/runner-images/issues/12751. + run: | + sudo xcode-select --switch /Applications/Xcode_16.4.app - name: Set up Python uses: actions/setup-python@v5.6.0 @@ -117,7 +126,7 @@ jobs: briefcase-testbed: name: Briefcase testbed (${{ matrix.platform }}) - runs-on: macOS-latest + runs-on: macOS-15 needs: [ config, build ] strategy: fail-fast: false @@ -127,10 +136,19 @@ jobs: - briefcase-run-args: - platform: iOS - briefcase-run-args: ' -d "iPhone SE (3rd generation)"' + briefcase-run-args: ' -d "iPhone 16e::iOS 18.5"' steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v5 + + - name: Set up Xcode + # GitHub recommends explicitly selecting the desired Xcode version: + # https://github.com/actions/runner-images/issues/12541#issuecomment-3083850140 + # This became a necessity as a result of + # https://github.com/actions/runner-images/issues/12541 and + # https://github.com/actions/runner-images/issues/12751. + run: | + sudo xcode-select --switch /Applications/Xcode_16.4.app - name: Get build artifact uses: actions/download-artifact@v5.0.0 @@ -149,7 +167,7 @@ jobs: # It's an edge case, but when a new alpha is released, we need to use it ASAP. check-latest: true - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v5 with: repository: beeware/Python-support-testbed path: Python-support-testbed @@ -160,21 +178,25 @@ jobs: python -m pip install git+https://github.com/beeware/briefcase.git - name: Run support testbed check - timeout-minutes: 10 + timeout-minutes: 15 working-directory: Python-support-testbed run: briefcase run ${{ matrix.platform }} Xcode --test ${{ matrix.briefcase-run-args }} -C support_package=\'../dist/Python-${{ needs.config.outputs.PYTHON_VER }}-${{ matrix.platform }}-support.${{ needs.config.outputs.BUILD_NUMBER }}.tar.gz\' cpython-testbed: name: CPython testbed (${{ matrix.platform }}) - runs-on: macOS-latest + # For now, CPython testbed can't run on macos-15: https://github.com/actions/runner-images/issues/12777 + runs-on: macOS-14 needs: [ config, build ] strategy: fail-fast: false matrix: platform: ["iOS", "visionOS"] + include: + - platform: "iOS" + testbed-args: '--simulator "iPhone 16e,arch=arm64,OS=18.5"' steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v5 - name: Get build artifact uses: actions/download-artifact@v5.0.0 @@ -200,7 +222,7 @@ jobs: tar zxvf ../../../dist/Python-${{ needs.config.outputs.PYTHON_VER }}-${{ matrix.platform }}-support.${{ needs.config.outputs.BUILD_NUMBER }}.tar.gz - name: Run CPython testbed - timeout-minutes: 10 + timeout-minutes: 15 working-directory: support/${{ needs.config.outputs.PYTHON_VER }}/${{ matrix.platform }} run: | # Run a representative subset of CPython core tests: @@ -230,7 +252,7 @@ jobs: multiarch: arm64-iphoneos steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v5 - name: Get build artifact uses: actions/download-artifact@v5.0.0 diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 587abe8..f913f7d 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -8,7 +8,7 @@ jobs: publish: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python environment uses: actions/setup-python@v5.6.0