glotzerlab/workflows
houses reusable GitHub actions and workflows that are in common
use across glotzerlab software packages.
prek
installs prek and executes prek run --all-files
.
In your action workflow, use the prek
composite action:
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
path: code
- name: prek
uses: glotzerlab/workflows/prek@1fe577d5430222a9793694a14cdb316cf8f720e1 # 0.9.0
with:
path: code
setup-uv
installs uv and optionally installs all the packages in a given
lockfile
.
To generate a lockfile, run:
uv pip compile --python-version=3.13 requirements.in --output-file=requirements.txt
and add both requirements.in
and requirements.txt
to the git repository.
Renovate can keep the requirements.txt
up to date.
In your action workflow, create a Python environment and then call setup-uv:
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: "3.13"
- name: Set up Python environment
uses: glotzerlab/workflows/setup-uv@1fe577d5430222a9793694a14cdb316cf8f720e1 # 0.9.0
with:
lockfile: "requirements.txt"
setup-mdbook
installs mdbook.
In your action workflow:
steps:
- name: Set up mdbook
uses: glotzerlab/workflows/setup-mdbook@1fe577d5430222a9793694a14cdb316cf8f720e1 # 0.9.0
See setup-mdbook/action.yaml for all options.
setup-cargo-bundle-licenses
installs cargo-bundle-licenses.
In your action workflow:
steps:
- name: Set up cargo-bundle-licenses
uses: glotzerlab/workflows/setup-cargo-bundle-licenses@1fe577d5430222a9793694a14cdb316cf8f720e1 # 0.9.0
See setup-cargo-bundle-licenses/action.yaml for all options.
setup-row
installs row.
In your action workflow:
steps:
- name: Set up row
uses: glotzerlab/workflows/setup-row@1fe577d5430222a9793694a14cdb316cf8f720e1 # 0.9.0
See setup-row/action.yaml for all options.
To reuse the standard stale workflow, create a workflow stale.yaml
with the
contents:
name: Close stale issues and PRs
on:
schedule:
- cron: '0 19 * * *'
workflow_dispatch:
jobs:
stale:
uses: glotzerlab/workflows/.github/workflows/stale.yaml@1fe577d5430222a9793694a14cdb316cf8f720e1 # 0.9.0
update-conda-lockfiles
is no longer maintained. Use Pixi and Renovate instead.
update-uv-lockfiles
is no longer maintained. Use Renovate instead.