Learn how ray extensions are packed and distributed in workflow
Closed this issue · 3 comments
Yukaii commented
Take a look at .github
and github-actions
Yukaii commented
- https://github.com/raycast/extensions/actions/runs/3955837699/jobs/6774472026#step:5:249
- https://github.com/raycast/github-actions/blob/2f74efbb1dde6c769599e067b0c18599525ec40c/ray-cli/ray_cli.sh#L65
All build operation are hidden behind ray cli, so we just build our own stuff.
Yukaii commented
Extensions get published for every new push
if [ "$event_name" == 'push' ]; then
command="publish"
elif [ "$event_name" == 'pull_request' ]; then
command="build"
else
Yukaii commented
Take every outputs from previous actions and run ray cli to build/publish extension:
uses: raycast/github-actions/ray-cli@v1.13.0
with:
paths: ${{ steps.get_changed_extensions.outputs.paths }}
command: ${{ steps.get_command.outputs.command }}
npm_token: ${{ inputs.npm_token }}
extension_schema: ${{ inputs.extension_schema }}
allow_owners_only_for_extensions: ${{ inputs.allow_owners_only_for_extensions }}
So we can take everything in ray/action.yml except these lines and add our own workflow to publish extensions.