https://github.com/jelhan/create-github-actions-setup-for-ember-addon
Setup GitHub Actions for an Ember Addon
https://github.com/jelhan/create-github-actions-setup-for-ember-addon
Last synced: about 1 month ago
JSON representation
Setup GitHub Actions for an Ember Addon
- Host: GitHub
- URL: https://github.com/jelhan/create-github-actions-setup-for-ember-addon
- Owner: jelhan
- License: mit
- Created: 2020-11-21T18:33:41.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-08-02T14:52:01.000Z (almost 4 years ago)
- Last Synced: 2024-10-03T12:27:17.092Z (8 months ago)
- Language: TypeScript
- Size: 223 KB
- Stars: 19
- Watchers: 4
- Forks: 2
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
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
```sh
# 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:
1. Use configuration persisted in `.github/workflows/ci.yml` by a previous run if exists.
2. Analyse `.travis.yml` if one exist.
3. 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's `package.json`.
- Picks up package manager used by your project based on existence of either `package-lock.json` or `yarn.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` or `script` 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](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](https://discord.gg/emberjs).## License
This project is licensed under the [MIT License](LICENSE.md).