https://github.com/wolframresearch/build-paclet
https://github.com/wolframresearch/build-paclet
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/wolframresearch/build-paclet
- Owner: WolframResearch
- License: mit
- Created: 2022-01-28T17:10:58.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-08-25T16:53:49.000Z (over 2 years ago)
- Last Synced: 2025-04-10T21:44:48.596Z (9 months ago)
- Language: Shell
- Size: 18.6 KB
- Stars: 4
- Watchers: 14
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Build Paclet for the [Wolfram Language Paclet Repository](https://resources.wolframcloud.com/PacletRepository/)
The Build Paclet action is an interface to the
[`BuildPaclet`](https://resources.wolframcloud.com/PacletRepository/resources/Wolfram/PacletCICD/ref/BuildPaclet.html)
function from
[Wolfram/PacletCICD](https://resources.wolframcloud.com/PacletRepository/resources/Wolfram/PacletCICD/)
and can be used to build your Wolfram Language paclet from source code within GitHub Actions.
This is roughly equivalent to using the **Build > All** menu item from the resource definition notebook within
Wolfram Desktop or Mathematica.
## Usage
A YAML file that uses this action can be automatically generated for your paclet using
[`WorkflowExport`](https://resources.wolframcloud.com/PacletRepository/resources/Wolfram/PacletCICD/ref/WorkflowExport.html):
```Mathematica
PacletSymbol["Wolfram/PacletCICD", "WorkflowExport"]["path/to/paclet", "Build"]
```
Alternatively, using GitHub actions YAML syntax directly:
```yaml
name: Build Paclet
on: [push]
jobs:
Build:
name: Build Paclet
runs-on: ubuntu-latest
container:
image: wolframresearch/wolframengine:latest
options: --user root
env:
WOLFRAMSCRIPT_ENTITLEMENTID: ${{ secrets.WOLFRAMSCRIPT_ENTITLEMENTID }}
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Build paclet
uses: WolframResearch/build-paclet@v1
- name: UploadArtifact
uses: actions/upload-artifact@v3
with:
path: ${{ env.PACLET_BUILD_DIR }} # set during the build-paclet step
```
## Parameters
Input | Default | Description
------------------------- | --------------------------- | ---------------
`check` | `true` | Whether to check the paclet for errors prior to building
`target` | `"Submit"` | The named configuration to use for error checking when `check` is `true`. Some possible values are `"Build"`, `"Check"`, `"Deploy"`, and `"Submit"`.
`definition_notebook` | `"./ResourceDefinition.nb"` | The relative path to the paclet's resource definition notebook
`paclet_cicd_version` | `"latest"` | The version of [PacletCICD](https://resources.wolframcloud.com/PacletRepository/resources/Wolfram/PacletCICD/) to use
## Notes
For this action to work, your repository needs to have a license entitlement ID defined as a repository secret. See [this tutorial](https://resources.wolframcloud.com/PacletRepository/resources/Wolfram/PacletCICD/tutorial/GitHubActionsQuickStart.html) for details.
## See Also
- [Action for checking your paclet for potential issues](https://github.com/WolframResearch/check-paclet)
- [Action for submitting your paclet to the Wolfram Language Paclet Repository](https://github.com/WolframResearch/submit-paclet)
- [Action for running your paclet test files](https://github.com/WolframResearch/test-paclet)
- [Continuous Integration and Deployment for Wolfram Language Paclets](https://resources.wolframcloud.com/PacletRepository/resources/Wolfram/PacletCICD/)