BlastLauncher/blast

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/github-actions/blob/2f74efbb1dde6c769599e067b0c18599525ec40c/get-command/get_command.sh#L8-L12

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

https://github.com/raycast/github-actions/blob/2f74efbb1dde6c769599e067b0c18599525ec40c/ray/action.yml#L62-L68

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.