Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 20 additions & 11 deletions .github/workflows/deploy-on-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -280,18 +280,24 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [macos-15-intel, ubuntu-24.04, windows-2025]
os: [macos-15, ubuntu-24.04, ubuntu-24.04-arm, windows-2022, windows-11-arm]
py: ['3.9', '3.10', '3.11', '3.12', '3.13']
include:
- name: 'Windows'
os: windows-2025
os: windows-2022
- name: 'Windows ARM'
os: windows-11-arm
- name: 'Linux'
os: ubuntu-24.04-arm
- name: 'Linux ARM'
os: ubuntu-24.04
- name: 'macOS'
os: macos-15-intel
os: macos-15
exclude:
- os: ubuntu-24.04
py: '3.9'
- os: ubuntu-24.04-arm
py: '3.9'

steps:
- name: Check out libCellML
Expand All @@ -313,11 +319,14 @@ jobs:
echo "build=cp${v/./}-*" >> $GITHUB_OUTPUT
if [[ "macOS" == "${{ matrix.name }}" ]]; then
echo "Setting macos_archs as: macos_archs='x86_64 arm64'"
echo 'macos_archs=x86_64 arm64' >> $GITHUB_OUTPUT
echo "macos_deployment_target=15.0" >> $GITHUB_OUTPUT
else
echo "Setting macos_archs as: macos_archs='x86_64'"
echo "macos_archs=x86_64" >> $GITHUB_OUTPUT
echo "macos_archs=x86_64 arm64" >> $GITHUB_OUTPUT
echo "macos_deployment_target=14.0" >> $GITHUB_OUTPUT
elif [[ "Windows" == "${{ matrix.name }}" ]]; then
echo "Setting win_arch as: win_arch=amd64"
echo "win_arch=amd64" >> $GITHUB_OUTPUT
elif [[ "Windows ARM" == "${{ matrix.name }}" ]]; then
echo "Setting win_arch as: win_arch=arm64"
echo "win_arch=arm64" >> $GITHUB_OUTPUT
fi

- name: Configure MSVC (Windows)
Expand All @@ -339,12 +348,12 @@ jobs:
CIBW_BUILD: ${{ steps.setup.outputs.build }}
CIBW_TEST_SKIP: "*_arm64"
CIBW_BEFORE_ALL_LINUX: yum install -y libxml2-devel || (apk add libxml2-dev && rm /usr/lib/cmake/libxml2/libxml2-config.cmake)
CIBW_BEFORE_ALL_WINDOWS: cd src/bindings/python && cmake -S wheel_dependencies -B build-wheel_dependencies -G Ninja && cd build-wheel_dependencies && ninja
CIBW_ENVIRONMENT: >
LIBCELLML_VERSION_TAG=${{ steps.setup.outputs.tag }}
MACOSX_DEPLOYMENT_TARGET=${{ steps.setup.outputs.macos_deployment_target }}
CIBW_REPAIR_WHEEL_COMMAND_MACOS: ""
CIBW_BEFORE_BUILD_LINUX: pip install renamewheel
CIBW_BEFORE_BUILD_WINDOWS: call "%VSINSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" ${{ steps.setup.outputs.win_arch }} && cd src/bindings/python && cmake -S wheel_dependencies -B build-wheel_dependencies -G Ninja && cd build-wheel_dependencies && ninja
CIBW_REPAIR_WHEEL_COMMAND_LINUX: renamewheel -w {dest_dir} {wheel}
with:
output-dir: wheelhouse
Expand Down Expand Up @@ -553,8 +562,8 @@ jobs:
run: |
cd yggdrasil

git config user.name "libcellml-release-app"
git config user.email "actions@github.com"
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

git add L/libcellml/build_tarballs.jl
git commit -m "libcellml ${{ github.event.release.tag_name }}"
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/release-finalise.yml
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,6 @@ jobs:

git add -A
git commit -m "Update main with release changes from ${{ needs.determine_release.outputs.release_branch }}."
git push origin main

- name: Install CMake and Ninja
if: ${{ inputs.successful }}
Expand Down
35 changes: 15 additions & 20 deletions .github/workflows/release-make.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,42 +45,37 @@ jobs:
runs-on: ubuntu-latest

steps:
- name: Checkout repository

- name: Generate GitHub App token
id: app_token
uses: actions/create-github-app-token@v3
with:
client-id: ${{ secrets.RELEASE_CLIENT_ID }}
private-key: ${{ secrets.RELEASE_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}
repositories: libcellml

- name: Checkout repository - staging branch
uses: actions/checkout@v6
with:
ref: ${{ needs.determine_release.outputs.release_branch }}
fetch-depth: 0
path: repo-staging

- name: Checkout repository
- name: Checkout repository - release branch
uses: actions/checkout@v6
with:
ref: release
token: ${{ steps.app_token.outputs.token }}
fetch-depth: 0
path: repo-release

- name: Set GitHub Actions bot identity
run: |
cd repo-release

git config user.name "libcellml-release[bot]"
git config user.email "libcellml-release[bot]@users.noreply.github.com"

- name: Generate GitHub App token
id: app_token
uses: actions/create-github-app-token@v3
with:
client-id: ${{ secrets.RELEASE_CLIENT_ID }}
private-key: ${{ secrets.RELEASE_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}
repositories: libcellml

- name: Configure git authentication
run: |
cd repo-release

git remote set-url origin \
https://x-access-token:${{ steps.app_token.outputs.token }}@github.com/${{ github.repository }}.git
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

- name: Update release branch
run: |
Expand Down
2 changes: 1 addition & 1 deletion src/bindings/python/wheel_dependencies/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.10)
cmake_minimum_required(VERSION 3.21)

project(prepare_dependencies)

Expand Down
Loading