Skip to content
This repository has been archived by the owner. It is now read-only.

Commit 9a067fa

Browse files
authored
Merge pull request #144 from mocks-server/chore-ci-github-actions
GitHub actions
2 parents cc7ef31 + 998a318 commit 9a067fa

File tree

9 files changed

+167
-66
lines changed

9 files changed

+167
-66
lines changed

.github/workflows/build.yml

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: build
2+
on:
3+
push:
4+
branches:
5+
- master
6+
- release
7+
pull_request:
8+
jobs:
9+
test:
10+
runs-on: ubuntu-latest
11+
strategy:
12+
matrix:
13+
node: ["12.19.0", "14.15.0", "15.2.0"]
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v2
17+
- name: Extract branch name
18+
shell: bash
19+
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF##*/})"
20+
id: extract-branch
21+
- name: Use Node.js
22+
uses: actions/setup-node@v1
23+
with:
24+
node-version: ${{ matrix.node }}
25+
- name: Cache node modules
26+
uses: actions/cache@v2
27+
env:
28+
cache-name: cache-node-modules
29+
with:
30+
# npm cache files are stored in `~/.npm` on Linux/macOS
31+
path: ~/.npm
32+
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
33+
restore-keys: |
34+
${{ runner.os }}-build-${{ env.cache-name }}-
35+
${{ runner.os }}-build-
36+
${{ runner.os }}-
37+
- name: Install dependencies
38+
run: npm ci
39+
- name: Lint
40+
run: npm run lint
41+
- name: Test unit
42+
run: npm run test:unit
43+
- name: Test E2E
44+
run: npm run test:e2e:ci
45+
id: test-e2e
46+
- name: Upload E2E tests screenshots
47+
if: ${{ always() && steps.test-e2e.outcome == 'failure' }}
48+
uses: actions/upload-artifact@v2
49+
with:
50+
name: e2e-screenshots-${{ matrix.node }}
51+
path: test-e2e/cypress/screenshots
52+
retention-days: 7
53+
- name: Upload test results
54+
uses: actions/upload-artifact@v2
55+
with:
56+
name: coverage-${{ matrix.node }}
57+
path: coverage
58+
retention-days: 1
59+
quality:
60+
runs-on: ubuntu-latest
61+
needs: test
62+
steps:
63+
- name: Checkout
64+
uses: actions/checkout@v2
65+
- name: Download test results
66+
uses: actions/download-artifact@v2
67+
with:
68+
name: coverage-15.2.0
69+
path: coverage
70+
- name: Coveralls
71+
uses: coverallsapp/github-action@master
72+
with:
73+
github-token: ${{ secrets.GITHUB_TOKEN }}
74+
- name: SonarCloud Scan
75+
if: env.SONAR_TOKEN != ''
76+
uses: sonarsource/sonarcloud-github-action@master
77+
env:
78+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
79+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: check-package-version
2+
on:
3+
pull_request:
4+
branches:
5+
- master
6+
jobs:
7+
check-package-version:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Checkout
11+
uses: actions/checkout@v2
12+
- name: Get NPM version is new
13+
id: check
14+
uses: EndBug/[email protected]
15+
with:
16+
diff-search: true
17+
file-name: ./package.json
18+
file-url: https://unpkg.com/@mocks-server/cypress-commands@latest/package.json
19+
static-checking: localIsNew
20+
- name: Check version is new
21+
if: steps.check.outputs.changed != 'true'
22+
run: |
23+
echo "Version not changed"
24+
exit 1
25+
- name: Get NPM version
26+
id: package-version
27+
uses: martinbeentjes/[email protected]
28+
- name: Check Changelog version
29+
id: changelog_reader
30+
uses: mindsers/[email protected]
31+
with:
32+
version: ${{ steps.package-version.outputs.current-version }}
33+
path: ./CHANGELOG.md
34+
- name: Read version from Sonar config
35+
id: sonar-version
36+
uses: christian-draeger/[email protected]
37+
with:
38+
path: './sonar-project.properties'
39+
property: 'sonar.projectVersion'
40+
- name: Check Sonar version
41+
if: steps.sonar-version.outputs.value != steps.package-version.outputs.current-version
42+
run: |
43+
echo "Version not changed"
44+
exit 1
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: publish-to-github
2+
on:
3+
release:
4+
types: [created]
5+
jobs:
6+
publish:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v2
10+
- uses: actions/setup-node@v1
11+
with:
12+
node-version: '12.x'
13+
registry-url: 'https://npm.pkg.github.com'
14+
# Defaults to the user or organization that owns the workflow file
15+
scope: '@mocks-server'
16+
- run: npm publish
17+
env:
18+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: publish-to-npm
2+
on:
3+
release:
4+
types: [created]
5+
jobs:
6+
publish:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v2
10+
- uses: actions/setup-node@v1
11+
with:
12+
node-version: '12.x'
13+
registry-url: 'https://registry.npmjs.org/'
14+
- run: npm publish
15+
env:
16+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

.travis.yml

Lines changed: 0 additions & 2 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
66

77
## [unreleased]
88
### Added
9+
- chore(deps): Support Cypress v6.x
910
### Changed
11+
- chore(ci): Migrate from Travis CI to github actions
1012
### Fixed
1113
### Removed
1214

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[![Build status][travisci-image]][travisci-url] [![Coverage Status][coveralls-image]][coveralls-url] [![Quality Gate][quality-gate-image]][quality-gate-url]
1+
[![Build status][build-image]][build-url] [![Coverage Status][coveralls-image]][coveralls-url] [![Quality Gate][quality-gate-image]][quality-gate-url]
22

33
[![NPM dependencies][npm-dependencies-image]][npm-dependencies-url] [![Renovate](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com) [![Last commit][last-commit-image]][last-commit-url] [![Last release][release-image]][release-url]
44

@@ -110,8 +110,8 @@ MIT, see [LICENSE](./LICENSE) for details.
110110

111111
[coveralls-image]: https://coveralls.io/repos/github/mocks-server/cypress-commands/badge.svg
112112
[coveralls-url]: https://coveralls.io/github/mocks-server/cypress-commands
113-
[travisci-image]: https://travis-ci.com/mocks-server/cypress-commands.svg?branch=master
114-
[travisci-url]: https://travis-ci.com/mocks-server/cypress-commands
113+
[build-image]: https://github.com/mocks-server/cypress-commands/workflows/build/badge.svg?branch=master
114+
[build-url]: https://github.com/mocks-server/cypress-commands/actions?query=workflow%3Abuild+branch%3Amaster
115115
[last-commit-image]: https://img.shields.io/github/last-commit/mocks-server/cypress-commands.svg
116116
[last-commit-url]: https://github.com/mocks-server/cypress-commands/commits
117117
[license-image]: https://img.shields.io/npm/l/@mocks-server/cypress-commands.svg

package-lock.json

Lines changed: 0 additions & 53 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,18 @@
2626
],
2727
"main": "index.js",
2828
"scripts": {
29-
"coveralls": "cat ./coverage/lcov.info | coveralls",
3029
"lint": "eslint src test *.js jest.config.js test-e2e/cypress test-e2e/mocks test-e2e/app-fetch/public test-e2e/app-data-provider/src test-e2e/app-data-provider/webpack.config.js",
3130
"lint-staged": "lint-staged",
3231
"test": "jest",
33-
"test-e2e": "cd test-e2e && npm run test:ci",
34-
"test-e2e:ci": "cd test-e2e && npm i && npm run apps:install && npm run test:ci",
35-
"test:coverage": "npm run test",
36-
"test:ci": "npm run test && npm run test-e2e:ci"
32+
"test:e2e": "cd test-e2e && npm run test:ci",
33+
"test:e2e:ci": "cd test-e2e && npm i && npm run apps:install && npm run test:ci",
34+
"test:unit": "npm run test"
3735
},
3836
"dependencies": {
3937
"@mocks-server/admin-api-client": "2.0.4"
4038
},
4139
"devDependencies": {
4240
"babel-eslint": "10.1.0",
43-
"coveralls": "3.0.9",
4441
"eslint": "7.15.0",
4542
"eslint-config-prettier": "6.15.0",
4643
"eslint-plugin-prettier": "3.2.0",
@@ -51,7 +48,7 @@
5148
"sinon": "9.2.1"
5249
},
5350
"peerDependencies": {
54-
"cypress": "^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0"
51+
"cypress": "2.x || 3.x || 4.x || 5.x || 6.x"
5552
},
5653
"lint-staged": {
5754
"test-e2e/app-data-provider/*.js": "eslint",
@@ -69,6 +66,6 @@
6966
}
7067
},
7168
"engines": {
72-
"node": "12.x || 14.x"
69+
"node": "12.x || 14.x || 15.x"
7370
}
7471
}

0 commit comments

Comments
 (0)