Skip to content

Commit 7aa9e3f

Browse files
authored
Implementation of saucectl-run-action (saucelabs#2)
1 parent ecbb0c4 commit 7aa9e3f

File tree

17 files changed

+17714
-0
lines changed

17 files changed

+17714
-0
lines changed

.github/workflows/test.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Tests
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- master
7+
push:
8+
branches: ['*']
9+
10+
jobs:
11+
sanity:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v2
15+
- uses: actions/setup-node@v1
16+
with:
17+
node-version: 12.x
18+
- name: install devDependencies
19+
run: npm ci
20+
- name: run the tests
21+
run: npm test
22+
- name: build new dist
23+
run: npx ncc build src/index.js -o dist/reference
24+
- name: compare actual build with expected
25+
run: diff -U 5 dist/reference/index.js dist/main/index.js
26+
build:
27+
strategy:
28+
matrix:
29+
platform: [ubuntu-latest, macos-latest, windows-latest]
30+
runs-on: ${{ matrix.platform }}
31+
steps:
32+
- uses: actions/checkout@v2
33+
- uses: actions/setup-node@v1
34+
with:
35+
node-version: 12.x
36+
- name: install devDependencies
37+
run: npm ci
38+
- name: run the tests
39+
run: npm test

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
node_modules
2+
coverage

README.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# Saucectl
2+
3+
This action install and launch [saucectl](https://github.com/saucelabs/saucectl/) tests.
4+
5+
## Example
6+
7+
### Basic
8+
9+
```
10+
jobs:
11+
test:
12+
runs-on: ubuntu-latest
13+
name: Action Test
14+
steps:
15+
# ...
16+
- uses: saucelabs/saucectl-action@v1
17+
# ...
18+
```
19+
20+
### Advanced
21+
22+
```
23+
jobs:
24+
test:
25+
runs-on: ubuntu-latest
26+
name: Action Test
27+
steps:
28+
- uses: saucelabs/saucectl-action@master
29+
with:
30+
sauce-username: ${{ secrets.SAUCE_USERNAME }}
31+
sauce-access-key: ${{ secrets.SAUCE_ACCESS_KEY }}
32+
saucectl-version: v0.25.1
33+
working-directory: ./testrunner-toolkit/cypress/
34+
testing-environment: sauce
35+
36+
```
37+
38+
## Inputs
39+
40+
## saucectl-version
41+
42+
Version of saucectl to use. \
43+
Default: latest
44+
45+
## sauce-username
46+
47+
Sauce Labs user name.
48+
49+
## sauce-access-key
50+
51+
Sauce Labs Access Key.
52+
53+
## working-directory
54+
55+
Folder in-which saucectl will be run.\
56+
Default: `.`
57+
58+
## config-file
59+
60+
Configuration file to use with saucectl.\
61+
Default: `.sauce/config.yml`
62+
63+
> This value is relative to `working-directory`.
64+
65+
66+
## region
67+
68+
Region flag to pass to saucectl.
69+
70+
> Similar to `--region <region>` parameter available in saucectl.
71+
72+
## testing-environment
73+
74+
Testing Environment to use.\
75+
Default: `docker`
76+
77+
> Similar to `--test-env <env>` parameter available in saucectl.
78+
79+
## skip-run
80+
81+
Skip execution of saucectl (only install binary).
82+
83+
## suite
84+
85+
Suite to run.
86+
87+
> Similar to `--suite <suite>` parameter available in saucectl.

action.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Saucectl Run Action
2+
description: A GitHub action to run your saucectl tests
3+
4+
branding:
5+
icon: tool
6+
color: red
7+
inputs:
8+
saucectl-version:
9+
description: 'Version of saucectl to use. Example: v0.25.1'
10+
default: latest
11+
required: false
12+
sauce-username:
13+
description: Sauce Labs user name.
14+
required: false
15+
sauce-access-key:
16+
description: Sauce Labs API Key.
17+
required: false
18+
working-directory:
19+
description: Folder in-which saucectl will be run.
20+
default: .
21+
required: false
22+
config-file:
23+
description: Configuration file to use with saucectl
24+
default: .sauce/config.yml
25+
required: false
26+
region:
27+
description: gion to pass to saucectl.
28+
required: false
29+
testing-environment:
30+
description: Testing Environment
31+
default: docker
32+
required: false
33+
skip-run:
34+
description: Skip execution of saucectl (only install binary)
35+
default: false
36+
required: false
37+
suite:
38+
description: Suite to be tested
39+
required: false
40+
runs:
41+
using: 'node12'
42+
main: 'dist/main/index.js'

0 commit comments

Comments
 (0)