create-github-actions-setup-for-ember-addon
v0.7.0
Published
Setup GitHub Actions for an Ember Addon
Downloads
4
Readme
Create GitHub Actions setup for Ember Addon
Creates GitHub Actions for Ember Addon with NPM init / yarn create command.
This is early alpha software. Use with care and double check the generated GitHub Actions workflow.
Features
- Update an existing GitHub Actions workflow to latest blueprints using configuration from last run.
- Analyse an existing TravisCI configuration and migrate it over to GitHub Actions.
- Calculate reasonable defaults based on your project.
Usage
# in a yarn repo
yarn create github-actions-setup-for-ember-addon
# in an npm repo
npm init github-actions-setup-for-ember-addon
The configuration to be used depends on the repository. It is determined using this algorithm:
- Use configuration persisted in
.github/workflows/ci.yml
by a previous run if exists. - Analyse
.travis.yml
if one exist. - Fallback to defaults.
Defaults
The script tries to calculate sensitive defaults if no configuration from a previous run nor an existing .travis.yml
is found.
The defaults are calculated based on the actual project:
- Determines node version based on minimum allowed version on
engines.node
key of project'spackage.json
. - Picks up package manager used by your project based on existence of either
package-lock.json
oryarn.lock
. - Includes all Ember Try scenarios defined in
config/ember-try.js
in generated test matrix. - Configures CI to run test against all browsers configured in Testem's
launch_in_ci
configuration.
Limitations of Travis CI parser
- Only supports TravisCI configuration following the schema used by Ember CLI >= 3.4.
- Environment variables used in TravisCI pipelines are not migrated (yet).
- Customizations of
before_install
orscript
steps are not migrated (yet).
Contributing
Merge requests are very much appreciated. Parts that could be improved are:
- The generated GitHub Actions workflow may not reflect latest best practices.
- The script is only tested against TravisCI configurations created by recent Ember CLI versions so far. Extending that test coverage (and fixing bugs) would be great.
- Only a very limited subset of common customizations of the default TravisCI configuration is supported. Would love to support more common patterns.
- The script could be extended to allow the user to set configuration variables with command line flags rather than extracting them from an existing TravisCI configuration.
Contributing documentation is provided in CONTRIBUTING.md to lower entry barrier. In case you face additional questions do not hesitate to either open an issue or contact me (@jelhan) on Ember Community Discord.
License
This project is licensed under the MIT License.