From 0aa9017713b0ab273ebc8ad849aee0a50b516f37 Mon Sep 17 00:00:00 2001 From: Brett Jia Date: Sun, 9 Nov 2025 12:18:31 +0000 Subject: [PATCH 1/3] Build FreeBSD riscv64 distributions --- .github/workflows/build_python.yml | 26 +++++++++++++++++--- .github/workflows/build_python_on_branch.yml | 2 +- .github/workflows/release_python.yml | 2 +- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_python.yml b/.github/workflows/build_python.yml index 8218bc4d..515a735f 100644 --- a/.github/workflows/build_python.yml +++ b/.github/workflows/build_python.yml @@ -9,7 +9,7 @@ on: platforms: required: true type: string - default: "linux-x86_64,linux-aarch64,linux-i386,linux-arm,linux-riscv64,linux-loongarch64,linux-s390x,linux-powerpc64le,macos,windows-x86_64,windows-aarch64,cosmo,freebsd13-x86_64,freebsd14-x86_64,freebsd15-x86_64,freebsd13-aarch64,freebsd14-aarch64,freebsd15-aarch64,solaris11-x86_64" + default: "linux-x86_64,linux-aarch64,linux-i386,linux-arm,linux-riscv64,linux-loongarch64,linux-s390x,linux-powerpc64le,macos,windows-x86_64,windows-aarch64,cosmo,freebsd13-x86_64,freebsd14-x86_64,freebsd15-x86_64,freebsd13-aarch64,freebsd14-aarch64,freebsd15-aarch64,freebsd13-riscv64,freebsd14-riscv64,freebsd15-riscv64,solaris11-x86_64" buildsystem_branch: required: false type: string @@ -485,7 +485,7 @@ jobs: fail-fast: false matrix: release: [13, 14, 15] - arch: [x86_64, aarch64] + arch: [x86_64, aarch64, riscv64] distribution: [full, headless] exclude: - release: ${{ !contains(inputs.platforms, 'freebsd13-x86_64') && '13' || '' }} @@ -500,6 +500,12 @@ jobs: arch: ${{ !contains(inputs.platforms, 'freebsd14-aarch64') && 'aarch64' || '' }} - release: ${{ !contains(inputs.platforms, 'freebsd15-aarch64') && '15' || '' }} arch: ${{ !contains(inputs.platforms, 'freebsd15-aarch64') && 'aarch64' || '' }} + - release: ${{ !contains(inputs.platforms, 'freebsd13-riscv64') && '13' || '' }} + arch: ${{ !contains(inputs.platforms, 'freebsd13-riscv64') && 'riscv64' || '' }} + - release: ${{ !contains(inputs.platforms, 'freebsd14-riscv64') && '14' || '' }} + arch: ${{ !contains(inputs.platforms, 'freebsd14-riscv64') && 'riscv64' || '' }} + - release: ${{ !contains(inputs.platforms, 'freebsd15-riscv64') && '15' || '' }} + arch: ${{ !contains(inputs.platforms, 'freebsd15-riscv64') && 'riscv64' || '' }} steps: - name: Parse release @@ -562,7 +568,7 @@ jobs: fail-fast: false matrix: release: [13, 14, 15] - arch: [x86_64, aarch64] + arch: [x86_64, aarch64, riscv64] distribution: [full, headless] exclude: - release: ${{ !contains(inputs.platforms, 'freebsd13-x86_64') && '13' || '' }} @@ -577,6 +583,12 @@ jobs: arch: ${{ !contains(inputs.platforms, 'freebsd14-aarch64') && 'aarch64' || '' }} - release: ${{ !contains(inputs.platforms, 'freebsd15-aarch64') && '15' || '' }} arch: ${{ !contains(inputs.platforms, 'freebsd15-aarch64') && 'aarch64' || '' }} + - release: ${{ !contains(inputs.platforms, 'freebsd13-riscv64') && '13' || '' }} + arch: ${{ !contains(inputs.platforms, 'freebsd13-riscv64') && 'riscv64' || '' }} + - release: ${{ !contains(inputs.platforms, 'freebsd14-riscv64') && '14' || '' }} + arch: ${{ !contains(inputs.platforms, 'freebsd14-riscv64') && 'riscv64' || '' }} + - release: ${{ !contains(inputs.platforms, 'freebsd15-riscv64') && '15' || '' }} + arch: ${{ !contains(inputs.platforms, 'freebsd15-riscv64') && 'riscv64' || '' }} steps: - name: Parse release @@ -648,7 +660,7 @@ jobs: fail-fast: false matrix: release: [13, 14, 15] - arch: [x86_64, aarch64] + arch: [x86_64, aarch64, riscv64] distribution: [full, headless] exclude: - release: ${{ !contains(inputs.platforms, 'freebsd13-x86_64') && '13' || '' }} @@ -663,6 +675,12 @@ jobs: arch: ${{ !contains(inputs.platforms, 'freebsd14-aarch64') && 'aarch64' || '' }} - release: ${{ !contains(inputs.platforms, 'freebsd15-aarch64') && '15' || '' }} arch: ${{ !contains(inputs.platforms, 'freebsd15-aarch64') && 'aarch64' || '' }} + - release: ${{ !contains(inputs.platforms, 'freebsd13-riscv64') && '13' || '' }} + arch: ${{ !contains(inputs.platforms, 'freebsd13-riscv64') && 'riscv64' || '' }} + - release: ${{ !contains(inputs.platforms, 'freebsd14-riscv64') && '14' || '' }} + arch: ${{ !contains(inputs.platforms, 'freebsd14-riscv64') && 'riscv64' || '' }} + - release: ${{ !contains(inputs.platforms, 'freebsd15-riscv64') && '15' || '' }} + arch: ${{ !contains(inputs.platforms, 'freebsd15-riscv64') && 'riscv64' || '' }} steps: - name: Parse release diff --git a/.github/workflows/build_python_on_branch.yml b/.github/workflows/build_python_on_branch.yml index 55117c7b..229d59ac 100644 --- a/.github/workflows/build_python_on_branch.yml +++ b/.github/workflows/build_python_on_branch.yml @@ -35,7 +35,7 @@ jobs: run_tests: ${{ inputs.run_tests || false }} debug: ${{ inputs.debug || false }} verbose: ${{ inputs.verbose || false }} - platforms: "linux-x86_64,linux-aarch64,linux-i386,linux-arm,linux-riscv64,linux-loongarch64,linux-s390x,linux-powerpc64le,macos,windows-x86_64,windows-aarch64,cosmo,freebsd13-x86_64,freebsd14-x86_64,freebsd15-x86_64,freebsd13-aarch64,freebsd14-aarch64,freebsd15-aarch64,solaris11-x86_64" + platforms: "linux-x86_64,linux-aarch64,linux-i386,linux-arm,linux-riscv64,linux-loongarch64,linux-s390x,linux-powerpc64le,macos,windows-x86_64,windows-aarch64,cosmo,freebsd13-x86_64,freebsd14-x86_64,freebsd15-x86_64,freebsd13-aarch64,freebsd14-aarch64,freebsd15-aarch64,freebsd13-riscv64,freebsd14-riscv64,freebsd15-riscv64,solaris11-x86_64" buildsystem_branch: ${{ inputs.buildsystem_branch || 'portable-python' }} graalpy: diff --git a/.github/workflows/release_python.yml b/.github/workflows/release_python.yml index bb30da4b..2f216514 100644 --- a/.github/workflows/release_python.yml +++ b/.github/workflows/release_python.yml @@ -26,7 +26,7 @@ jobs: uses: ./.github/workflows/build_python.yml with: python_version: ${{ inputs.python_version }} - platforms: "linux-x86_64,linux-aarch64,linux-i386,linux-arm,linux-riscv64,linux-loongarch64,linux-s390x,linux-powerpc64le,macos,windows-x86_64,windows-aarch64,cosmo,freebsd13-x86_64,freebsd14-x86_64,freebsd15-x86_64,freebsd13-aarch64,freebsd14-aarch64,freebsd15-aarch64,solaris11-x86_64" + platforms: "linux-x86_64,linux-aarch64,linux-i386,linux-arm,linux-riscv64,linux-loongarch64,linux-s390x,linux-powerpc64le,macos,windows-x86_64,windows-aarch64,cosmo,freebsd13-x86_64,freebsd14-x86_64,freebsd15-x86_64,freebsd13-aarch64,freebsd14-aarch64,freebsd15-aarch64,freebsd13-riscv64,freebsd14-riscv64,freebsd15-riscv64,solaris11-x86_64" publish: name: Publish CPython ${{ inputs.python_version }} From 9c5f41360b0666e718f626167c0e05b5d880e268 Mon Sep 17 00:00:00 2001 From: Brett Jia Date: Sun, 9 Nov 2025 12:20:59 +0000 Subject: [PATCH 2/3] update freebsd releases to versions with riscv64 --- .github/workflows/build_python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_python.yml b/.github/workflows/build_python.yml index 515a735f..f0c341b7 100644 --- a/.github/workflows/build_python.yml +++ b/.github/workflows/build_python.yml @@ -54,7 +54,7 @@ env: PORTABLE_PYTHON_BUILDSYSTEM_BRANCH: ${{ inputs.buildsystem_branch || 'portable-python' }} image_map: '{"x86_64": "amd64/ubuntu:18.04", "i386": "i386/ubuntu:18.04", "aarch64": "arm64v8/ubuntu:18.04", "arm": "arm32v7/debian:bullseye", "riscv64": "riscv64/debian:sid", "loongarch64": "loongarch64/debian:sid", "s390x": "s390x/debian:bookworm", "powerpc64le": "ppc64le/ubuntu:18.04"}' platform_map: '{"x86_64": "linux/amd64", "i386": "linux/386", "aarch64": "linux/arm64/v8", "arm": "linux/arm/v7", "riscv64": "linux/riscv64", "loongarch64": "linux/loong64", "s390x": "linux/s390x", "powerpc64le": "linux/ppc64le"}' - freebsd_release_map: '{"15": "15.0", "14": "14.1", "13": "13.3"}' + freebsd_release_map: '{"15": "15.0", "14": "14.2", "13": "13.4"}' solaris_release_map: '{"11": "11.4"}' jobs: From 26d04a22c7cab66a3c8958dd066b6b86a61a2c9a Mon Sep 17 00:00:00 2001 From: Brett Jia Date: Sun, 9 Nov 2025 08:33:51 -0500 Subject: [PATCH 3/3] Update FreeBSD release version in build workflow --- .github/workflows/build_python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_python.yml b/.github/workflows/build_python.yml index f0c341b7..3f5c03d0 100644 --- a/.github/workflows/build_python.yml +++ b/.github/workflows/build_python.yml @@ -54,7 +54,7 @@ env: PORTABLE_PYTHON_BUILDSYSTEM_BRANCH: ${{ inputs.buildsystem_branch || 'portable-python' }} image_map: '{"x86_64": "amd64/ubuntu:18.04", "i386": "i386/ubuntu:18.04", "aarch64": "arm64v8/ubuntu:18.04", "arm": "arm32v7/debian:bullseye", "riscv64": "riscv64/debian:sid", "loongarch64": "loongarch64/debian:sid", "s390x": "s390x/debian:bookworm", "powerpc64le": "ppc64le/ubuntu:18.04"}' platform_map: '{"x86_64": "linux/amd64", "i386": "linux/386", "aarch64": "linux/arm64/v8", "arm": "linux/arm/v7", "riscv64": "linux/riscv64", "loongarch64": "linux/loong64", "s390x": "linux/s390x", "powerpc64le": "linux/ppc64le"}' - freebsd_release_map: '{"15": "15.0", "14": "14.2", "13": "13.4"}' + freebsd_release_map: '{"15": "15.0", "14": "14.2", "13": "13.5"}' solaris_release_map: '{"11": "11.4"}' jobs: