Skip to content

Commit

Permalink
Add configuration for github actions CI
Browse files Browse the repository at this point in the history
- Modify tests to use Ember's VERSION as-is, as it can no longer be
  modified
- Update implementation to also link to /current docs for any
  not-explicitly-stable VERSION value
  • Loading branch information
kategengler committed Sep 9, 2021
1 parent ed265d6 commit 6424beb
Show file tree
Hide file tree
Showing 8 changed files with 114 additions and 124 deletions.
73 changes: 73 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: CI

on:
push:
branches:
- main
- master
tags:
- v*
pull_request: { }

env:
CI: true

jobs:
lint:
timeout-minutes: 10
name: Lint
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Install node
uses: actions/setup-node@v2
with:
node-version: 12.x
- name: Install Dependencies
run: yarn install --frozen-lockfile --non-interactive
- name: Lint
run: yarn lint

floating-dependencies:
timeout-minutes: 10
name: "Floating Dependencies"
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Install node
uses: actions/setup-node@v2
with:
node-version: 12.x
- name: Install Dependencies
run: yarn install --no-lockfile
- run: yarn test:ember

try-scenarios:
timeout-minutes: 10
name: "Try: ${{ matrix.ember-try-scenario }}"

runs-on: ubuntu-latest

needs: floating-dependencies

strategy:
fail-fast: false
matrix:
ember-try-scenario:
- ember-lts-3.12
- ember-lts-3.16
- ember-lts-3.20
- ember-lts-3.24

steps:
- uses: actions/checkout@v2
- name: Install node
uses: actions/setup-node@v2
with:
node-version: 12.x
- name: Install Dependencies
run: yarn install --frozen-lockfile
- name: test
run: node_modules/.bin/ember try:one ${{ matrix.ember-try-scenario }} --skip-cleanup
65 changes: 0 additions & 65 deletions .travis.yml

This file was deleted.

2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
ember-welcome-page
==============================================================================

[![Build Status](https://travis-ci.org/ember-cli/ember-welcome-page.svg?branch=master)](https://travis-ci.org/ember-cli/ember-welcome-page)

Displays a nice welcome page for newly generated applications with links to resources.

Compatibility
Expand Down
15 changes: 2 additions & 13 deletions addon/components/welcome-page.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,8 @@ export default Component.extend({
layout,

isCurrent: computed(function() {
let displayCurrent = false;
let version = VERSION;
let patch = version.split(".")[2];

if (version === 'master') {
displayCurrent = true;
} else if (patch.match('alpha')) {
displayCurrent = true;
} else if (patch.match('beta')) {
displayCurrent = true;
}

return displayCurrent;
let stableRegex = /^\d+\.\d+\.\d+$/
return !stableRegex.test(VERSION);
}),

canAngleBracket: computed(function() {
Expand Down
16 changes: 16 additions & 0 deletions config/ember-try.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,22 @@ module.exports = async function() {
}
}
},
{
name: 'ember-lts-3.20',
npm: {
devDependencies: {
'ember-source': '~3.20.0'
}
}
},
{
name: 'ember-lts-3.24',
npm: {
devDependencies: {
'ember-source': '~3.24.0'
}
}
},
{
name: 'ember-release',
npm: {
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@
"lerna-changelog": "^1.0.1",
"loader.js": "^4.7.0",
"npm-run-all": "^4.1.5",
"qunit-dom": "^1.6.0"
"qunit-dom": "^1.6.0",
"semver": "^7.3.5"
},
"engines": {
"node": "10.* || >= 12"
Expand Down
57 changes: 14 additions & 43 deletions tests/integration/components/welcome-page-test.js
Original file line number Diff line number Diff line change
@@ -1,58 +1,29 @@
/* eslint-disable ember/new-module-imports */
import Ember from 'ember';
import { module, test } from 'qunit';
import { setupRenderingTest } from 'ember-qunit';
import { render } from '@ember/test-helpers';
import { VERSION } from '@ember/version';
import { hbs } from 'ember-cli-htmlbars';
import semver from 'semver';

module('Integration | Component | welcome page', function(hooks) {
setupRenderingTest(hooks);

test('it links to version for release version', async function(assert) {
// Set any properties with this.set('myProperty', 'value');
// Handle any actions with this.on('myAction', function(val) { ... });
Ember.VERSION = '3.1.5';
test('it links to correct docs for the version of ember', async function(assert) {

await render(hbs`<WelcomePage/>`);

let [ emberMajor, emberMinor ] = Ember.VERSION.split('.');
let [ welcomeMajor, welcomeMinor, welcomePatch ] = this.element.querySelector('[data-ember-version]').dataset.emberVersion.split('.');
if (semver.valid(VERSION) && !semver.prerelease(VERSION)) {
let [emberMajor, emberMinor] = VERSION.split('.');
let [welcomeMajor, welcomeMinor, welcomePatch] = this.element.querySelector(
'[data-ember-version]').dataset.emberVersion.split('.');

assert.equal(emberMajor, welcomeMajor, "Major segment of version should match.");
assert.equal(emberMinor, welcomeMinor, "Minor segment of version should match.");
assert.equal("0", welcomePatch, "Patch segment of version should be 0.");
});

test('it links to "/current" for alpha versions', async function(assert) {
// Set the version property
Ember.VERSION = '2.15.0-alpha.1';

await render(hbs`<WelcomePage/>`);

let versionText = this.element.querySelector('[data-ember-version]').dataset.emberVersion;

assert.equal(versionText, 'current', "Version text should be set to 'current' when an alpha version is used.");
});

test('it links to "/current" for beta versions', async function(assert) {
// Set the version property
Ember.VERSION = '2.15.0-beta.1';

await render(hbs`<WelcomePage/>`);

let versionText = this.element.querySelector('[data-ember-version]').dataset.emberVersion;

assert.equal(versionText, 'current', "Version text should be set to 'current' when a beta version is used.");
});

test('it links to "/current" for master', async function(assert) {
// Set the version property
Ember.VERSION = 'master';

await render(hbs`<WelcomePage/>`);

let versionText = this.element.querySelector('[data-ember-version]').dataset.emberVersion;
assert.equal(emberMajor, welcomeMajor, "Major segment of version should match.");
assert.equal(emberMinor, welcomeMinor, "Minor segment of version should match.");
assert.equal("0", welcomePatch, "Patch segment of version should be 0.");
} else {
let versionText = this.element.querySelector('[data-ember-version]').dataset.emberVersion;

assert.equal(versionText, 'current', "Version text should be set to 'current' when master is used.");
assert.equal(versionText, 'current', "Version text should be set to 'current' when a non-stable release is used.");
}
});
});
7 changes: 7 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11084,6 +11084,13 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.2.0, semver@^6.3.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==

semver@^7.3.5:
version "7.3.5"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
dependencies:
lru-cache "^6.0.0"

send@0.17.1:
version "0.17.1"
resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
Expand Down

0 comments on commit 6424beb

Please sign in to comment.