Git Product home page Git Product logo

create-github-actions-setup-for-ember-addon's Introduction

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:

  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 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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.