Skip to content

Move to a mono-repo for better testing infrastructure #765

Description

@kiwiupover

The problems

  • The current test setup needs to run against npm 4 because we are swapping node modules at build time. Both npm 5+ and yarn expect node modules to be referenced from a repository or from disk somewhere. Pre npm 5+ node modules in present in the node_modules would be included when npm install is run.

  • ember-cli-addon-tests builds uses ember-data@3.8.0 ember-cli-fastboot needs to tests against a wide rage of dependancies

  • We need to add tests for an embroider application.

The case for a monorepo

We add test-package applications so we can tests again each of the scenarios ember-cli-fastboot supports. We would add an embroider application and run tests against that app. A number of addons have has success with this approach ember-auto-import being one.

Here we would copy embroider, ember-auto-import and ember-css-modules mono-repo setup so we can test ember-cli-fastboot from real app and addon stand point.

This approach would allow us to have an embroider app as a test-package that we can run tests against. This fixes #754 and many other issues.

Proposed test structure

I propose that we have singular focused tests and a test-package each of those focuses.

  • A classic app with tests for routing and the build tests
  • An embroider app with routing and build tests
  • Custom apps for a customization we support. Finger printing, output files names, custom html

An alternative could be we have a single custom app with all the customization tested in that application. I don't like this idea because it will be hard to fellow contributors to follow the customizations .

Use github actions

This is a no brainer vs travis and appveyor. Test are much faster with github actions.

Here is the same PR on my repo running github actions. kiwiupover#8
I don't know why github actions don't run for a PR from a forked repo. This PR branches from the monoropo PR #767 and should be merged following the merge of that PR.

I broke down package-json-test.js into separate tests with corresponding test-package applications

Adding test-packages for

  • basic-app
  • fingerprinted app
  • custom html app
  • custom output app

Copy embroider, ember-auto-import and ember-css-modules mono-repo setup so we can test ember-cli-fastboot from real app and addon stand point.

This would fix #754 and many other issues.

@kratiahuja @rwjblue, and @SparshithNR thoughts?

Setup monorepo. #767
Monorepo based tests #768

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions