endojs / endo

Endo is a distributed secure JavaScript sandbox, based on SES
Apache License 2.0
829 stars 72 forks source link

Create GitHub composite action for CI workflow #2457

Open leotm opened 1 month ago

leotm commented 1 month ago

What is the Problem Being Solved?

Clean up CI tech debt to avoiding duplication, finishing what we started 4y ago

https://github.com/endojs/endo/blob/df5a0e8677432afc12255bfcb67903045d1597c1/.github/workflows/ci.yml#L11-L14

so replace all our begin/end macro comments with a GH composite action

spotted earlier by @boneskull

Description of the Design

e.g. uses: endojs/setup@1.0.0 (or mvp via filepath)

the alternative is a reusable workflow

Security Considerations

Scaling Considerations

this improves scaling CI jobs

Test Plan

Testing out your action in a workflow

local testing works well with nektos/act

Compatibility Considerations

consider: linux / windows / macOS

Upgrade Considerations

upgrading this composite actions to e.g. uses: endojs/setup@1.0.1 involves pushing a new tag (unless using commit sha)

boneskull commented 1 month ago

@leotm Can you make sure that we only lint once? Currently, we're running the lint workflow on multiple versions of Node.js, which wastes cycles

leotm commented 1 month ago

@leotm Can you make sure that we only lint once? Currently, we're running the lint workflow on multiple versions of Node.js, which wastes cycles

nb (thx @kriskowal beat me to it)