https://github.com/hpcflow/github-support
Miscellaneous support pieces for Github Actions.
https://github.com/hpcflow/github-support
github-actions
Last synced: 24 days ago
JSON representation
Miscellaneous support pieces for Github Actions.
- Host: GitHub
- URL: https://github.com/hpcflow/github-support
- Owner: hpcflow
- License: mpl-2.0
- Created: 2025-01-13T11:39:07.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-05-12T15:36:53.000Z (about 1 month ago)
- Last Synced: 2026-05-12T17:35:31.025Z (about 1 month ago)
- Topics: github-actions
- Language: Python
- Homepage:
- Size: 218 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Support Utilities for HpcFlow's/MatFlow's Github Actions
Miscellaneous support pieces for Github Actions.
## Actions
Simple components that capture common patterns.
* [`compare`](compare/) — Compare the output of a program against a string.
* [`configure-git`](configure-git/) — Configures [git](https://git-scm.com/) for robotic commits.
* [`init-cache`](init-cache/) — Set up dependency caching using a standard pattern.
* [`setup-poetry`](setup-poetry/) — Set up [poetry](https://python-poetry.org/) for use.
## Component Workflows
Implementations of templated workflows, separating the templating from what the workflows do.
* [`benchmark-impl`](.github/workflows/benchmark-impl.yml) — Benchmark workflow performance.
* No special permissions required.
* [`build-exes-impl`](.github/workflows/build-exes-impl.yml) — Build executables.
* No special permissions required.
* [`doc-build-impl`](.github/workflows/doc-build-impl.yml) — Build documentation *for one version*.
* No special permissions required _if publication disabled_ (default).
* If publication enabled, requires: `pages: write`, `id-token: write`
This is to allow publication of a site to be done.
* [`release-impl`](.github/workflows/release-impl.yml) — Create a release.
* Permissions: `contents: write`, `id-token: write`
This is to allow commits to be made to make release tags, etc. (Note that appropriate secrets must also be supplied for some operations.)
* [`test-impl`](.github/workflows/test-impl.yml) — Run the test suite.
* Permissions: `contents: write`, `id-token: write`
This is to allow the "commit hook" that runs [black](https://github.com/psf/black) to write its changes.
* [`test-pre-python-impl`](.github/workflows/test-pre-python-impl.yml) — Run the test suite with a pre-release version of Python.
* No special permissions required.
These workflows use the actions listed above.
## Support Scripts/Files
Files used by other parts of this repository, principally for testing purposes.
* [`problem-matchers/sphinx.json`](problem-matchers/sphinx.json) — Originally evolved from something in Python's own code, used to pick errors out of [Sphinx](https://www.sphinx-doc.org/en/master/)'s (voluminous) output and highlight it. Used by `doc-build-impl`.
* [`scripts/get_invoc_cmd.py`](scripts/get_invoc_cmd.py) — Test harness: non-interactive invocation.
* [`scripts/get_invoc_cmd_interactive.py`](scripts/get_invoc_cmd_interactive.py) — Test harness: interactive invocation (not Windows).
* [`scripts/test_direct_sub_python_script.py`](scripts/test_direct_sub_python_script.py) — Test harness: call as library.
* [`scripts/test_direct_sub_jupyter_notebook.ipynb`](scripts/test_direct_sub_jupyter_notebook.ipynb) — Test harness: call from [ipython](https://ipython.org/).