PySR backend update #572
This file contains 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
name: PySR backend update | |
on: | |
schedule: | |
- cron: '00 00 * * *' | |
workflow_dispatch: | |
jobs: | |
update_compat: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
cache: pip | |
- name: "Install dependencies" | |
run: | | |
python -m pip install --upgrade pip | |
pip install tomlkit | |
- name: "Get SymbolicRegression.jl latest version" | |
id: get-latest | |
run: | | |
cd $(mktemp -d) | |
git clone https://github.com/MilesCranmer/SymbolicRegression.jl | |
cd SymbolicRegression.jl | |
echo "version=$(git describe --tags --match='v*' --abbrev=0 | sed 's/^v//')" >> $GITHUB_OUTPUT | |
- name: "Update SymbolicRegression.jl version in PySR" | |
run: | | |
python .github/workflows/update_backend_version.py ${{ steps.get-latest.outputs.version }} | |
- name: "Restore changes if no diff to `pysr/juliapkg.json`" | |
run: | | |
if git diff --quiet pysr/juliapkg.json; then | |
echo "No changes to pysr/juliapkg.json. Restoring changes." | |
git restore pyproject.toml | |
fi | |
- name: "Create PR if necessary" | |
uses: peter-evans/create-pull-request@v7 | |
with: | |
title: "Automated update to backend: v${{ steps.get-latest.outputs.version }}" | |
body: | | |
This PR was automatically generated by the GitHub Action `.github/workflows/update-backend.yml` | |
It updates the backend version to v${{ steps.get-latest.outputs.version }}. For a full description of the changes, see the backend changelog: [v${{ steps.get-latest.outputs.version }}](https://github.com/MilesCranmer/SymbolicRegression.jl/releases/tag/v${{ steps.get-latest.outputs.version }}). | |
delete-branch: true | |
commit-message: "Update backend version to v${{ steps.get-latest.outputs.version }}" | |
add-paths: | | |
pyproject.toml | |
pysr/juliapkg.json |