Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/timrogers/build-raycast-extension
A GitHub action which ensures that a Raycast extension can be built successfully
https://github.com/timrogers/build-raycast-extension
Last synced: 13 days ago
JSON representation
A GitHub action which ensures that a Raycast extension can be built successfully
- Host: GitHub
- URL: https://github.com/timrogers/build-raycast-extension
- Owner: timrogers
- License: mit
- Created: 2022-05-09T17:05:08.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-04T15:10:19.000Z (over 1 year ago)
- Last Synced: 2024-10-14T13:15:42.436Z (3 months ago)
- Size: 7.81 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Build Raycast Extension
This simple __GitHub Action__ builds and (optionally!) lints a [custom extension](https://github.com/raycast/extensions) for [Raycast](https://raycast.com/), making sure that it passes Raycast's basic checks and is ready to publish.
## Getting started
Create a `.github/workflows/build.yml` file in your repo with the following contents:
```yaml
name: Build Raycast extensionon:
- pushjobs:
build:
# We use the `macos-latest` GitHub Actions runner, because Raycast's `ray` CLI only works on macOS.
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
# You don't have to specify any options here, although there are some non-mandatory options - see below!
- uses: timrogers/[email protected]
```Commit this to `main`, and your Raycast extension will be automatically built and linted whenever you push to GitHub.
## Options
| Name | Description | Required | Default |
|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|---------|
| extension_path | The relative path within your repo where the Raycast extension is located. We will expect `package.json` and `package-lock.json` files to be found here. This is useful if you have multiple extensions in one repo - for example if you're using Raycast for Teams (). | false | . |
| lint | Whether the code should be linted to check its style and formatting. | false | true |You can set options using `with:`, like follows:
```yaml
name: Build Raycast extensionon:
- pushjobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: timrogers/[email protected]
with:
extension_path: my_second_extension
```## Limitations
This action does not allow you to log in to your Raycast developer account, so some linting checks are skipped (namely making sure that you have access to the `owner` team, if you're building for Raycast for Teams ().