Skip to content

Sync Template

Sync Template #659

Workflow file for this run

name: Sync Template
on:
workflow_dispatch:
schedule:
- cron: "0 2 * * *" # every night at 2:00 UTC
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install dependencies
# for now, pin cookiecutter version, due to https://github.com/cruft/cruft/issues/166
run: python -m pip install --upgrade cruft "cookiecutter<2" pre-commit toml
- name: Find Latest Tag
uses: oprypin/[email protected]
id: get-latest-tag
with:
repository: scverse/cookiecutter-scverse
releases-only: false
sort-tags: true
regex: '^v\d+\.\d+\.\d+$' # vX.X.X
- name: Sync
run: |
cruft update --checkout ${{ steps.get-latest-tag.outputs.tag }} --skip-apply-ask --project-dir .
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
with:
commit-message: Automated template update from cookiecutter-scverse
branch: template-update
title: Automated template update from cookiecutter-scverse
body: |
A new version of the [scverse cookiecutter template](https://github.com/scverse/cookiecutter-scverse/releases)
got released. This PR adds all new changes to your repository and helps to to stay in sync with
the latest best-practice template maintained by the scverse team.
**If a merge conflict arised, a `.rej` file with the rejected patch is generated. You'll need to
manually merge these changes.**
For more information about the template sync, please refer to the
[template documentation](https://cookiecutter-scverse-instance.readthedocs.io/en/latest/template_usage.html#automated-template-sync).