https://github.com/turinglang/actions
GitHub actions for the TuringLang family
https://github.com/turinglang/actions
Last synced: 3 months ago
JSON representation
GitHub actions for the TuringLang family
- Host: GitHub
- URL: https://github.com/turinglang/actions
- Owner: TuringLang
- License: mit
- Created: 2024-10-05T12:16:08.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-11-15T13:29:01.000Z (7 months ago)
- Last Synced: 2025-11-15T15:25:28.825Z (7 months ago)
- Language: HTML
- Homepage:
- Size: 95.7 KB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GitHub actions for TuringLang
This repository contains a collection of GitHub actions to be used across different TuringLang repositories.
Namely, these are:
- [DocsDocumenter](#docsdocumenter)
- [DocsNav](#docsnav)
- [Format](#format)
- [PRAssign](#prassign)
----------
## DocsDocumenter
This action performs a complete build and deploy of Documenter.jl documentation, inserting a navbar in the process.
**Note**: _Unless_ the `deploy` setting is explicitly set to `false`, this action takes care of calling `deploydocs()`, so your `docs/make.jl` file does not need to contain a call to `deploydocs()`.
If your `docs/make.jl` file contains a call to `deploydocs()`, it is not a big deal, it just means that the docs will be deployed twice in quick succession.
### Parameters
| Parameter | Description | Default |
| ---------------------- | -------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| `pkg_path` | Path to the package root. If empty, defaults to the current working directory. | `""` |
| `additional_pkg_paths` | Additional package paths to be dev-ed alongside the main package (one path per line). For multi-package repos. | `""` |
| `doc-path` | Path to the documentation root | `docs` (following Documenter.jl conventions) |
| `add-navbar` | Whether to include the TuringLang navbar | `true` |
| `doc-make-path` | Path to the `make.jl` file | `docs/make.jl` (following Documenter.jl conventions) |
| `doc-build-path` | Path to the built HTML documentation | `docs/build` (following Documenter.jl conventions) |
| `dirname` | Subdirectory in gh-pages where the documentation should be deployed | `""` |
| `julia-version` | Julia version to use | `'1'` |
| `exclude-paths` | JSON array of filepath patterns to exclude from navbar insertion | `"[]"` |
| `deploy` | Whether to deploy to the `gh-pages` branch or not | `true` |
### Example usage
See [`example_workflows/Docs.yml`](https://github.com/TuringLang/actions/blob/main/example_workflows/Docs.yml) for an example workflow.
----------------
## DocsNav
This action inserts a MultiDocumenter-style top navigation bar to `Documenter.jl` generated sites.
`TuringNavbar.html` in `DocsNav/scripts` directory contains code for building navigation bar for Turing language satellite packages' documentation but you can use your own navigation bar for your project!
### Parameters
| Parameter | Description | Default |
| --- | --- | --- |
| `doc-path` | Path to the built HTML documentation | None, **must be provided** |
| `navbar-url` | Path to, or URL of, the navbar HTML to be inserted | `DocsNav/scripts/TuringNavbar.html` in this repository |
| `exclude-paths` | JSON array of filepath patterns to exclude from navbar insertion | `"[]"` |
| `julia-version` | Julia version to use | `'1'` |
### Example usage
In TuringLang, we make this action run once every week so that if the navbar HTML file is updated, all our documentation will use it.
We also have a `workflow_dispatch` trigger so that we can manually run this action whenever we want.
See [`example_workflows/DocsNav.yml`](https://github.com/TuringLang/actions/blob/main/example_workflows/DocsNav.yml) for an example workflow.
----------------
## Format
Run JuliaFormatter on the content in the repository.
### Parameters
| Parameter | Description | Default |
| --- | --- | --- |
| `suggest-changes` | Whether to comment on PRs with suggested changes | `"true"` |
### Example usage
See [`example_workflows/Format.yml`](https://github.com/TuringLang/actions/blob/main/example_workflows/Format.yml) for an example workflow.
## PRAssign
Automatically add PR authors as an assignee.
### Parameters
None.
### Example usage
See [`example_workflows/PRAssign.yml`](https://github.com/TuringLang/actions/blob/main/example_workflows/PRAssign.yml) for an example workflow.
## Search
Build a combined Quarto search index that includes entries both from the main TuringLang docs site, as well as the docs of individual packages.
### Parameters
None.
### Example usage
This action is only meant for two repos: `TuringLang/docs` and `TuringLang/turinglang.github.io`.
Please see the publish workflow files in those repos for example usage.
Note that this action assumes that Julia has been installed in an earlier step of the workflow.