-
Notifications
You must be signed in to change notification settings - Fork 0
126 lines (100 loc) · 3.75 KB
/
e2e.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
name: E2E
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
no-line-ending-given:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
package: [all-have-licenses, missing-license-file]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16
registry-url: https://registry.npmjs.org/
- name: npm install
run : npm ci
- name: npm install test project
run : npm ci
working-directory: ./e2e/test-projects/${{ matrix.package }}
- name: Run generate-license-file
uses: ./
with:
input: './e2e/test-projects/${{ matrix.package }}/package.json'
output: './e2e/test-projects/${{ matrix.package }}/${{ github.job }}.txt'
- name: Assert generated output
shell: pwsh
run: |
$expectedLineEnding = "${{ matrix.os }}" -eq "windows-latest" ? "crlf" : "lf";
$expectedHash = (Get-FileHash "./e2e/test-projects/${{ matrix.package }}/expected-results/$expectedLineEnding.txt").Hash;
$actualHash = (Get-FileHash "./e2e/test-projects/${{ matrix.package }}/${{ github.job }}.txt").Hash;
Write-Host "Expected: $expectedHash";
Write-Host "Actual: $actualHash";
exit($expectedHash -eq $actualHash ? 0 : 1)
windows-line-ending-given:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
package: [all-have-licenses, missing-license-file]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16
registry-url: https://registry.npmjs.org/
- name: npm install
run : npm ci
- name: npm install test project
run : npm ci
working-directory: ./e2e/test-projects/${{ matrix.package }}
- name: Run generate-license-file
uses: ./
with:
input: './e2e/test-projects/${{ matrix.package }}/package.json'
output: './e2e/test-projects/${{ matrix.package }}/${{ github.job }}.txt'
lineEnding: 'windows'
- name: Assert generated output
shell: pwsh
run: |
$expectedHash = (Get-FileHash "./e2e/test-projects/${{ matrix.package }}/expected-results/crlf.txt").Hash;
$actualHash = (Get-FileHash "./e2e/test-projects/${{ matrix.package }}/${{ github.job }}.txt").Hash;
Write-Host "Expected: $expectedHash";
Write-Host "Actual: $actualHash";
exit($expectedHash -eq $actualHash ? 0 : 1)
posix-line-ending-given:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
package: [all-have-licenses, missing-license-file]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16
registry-url: https://registry.npmjs.org/
- name: npm install
run : npm ci
- name: npm install test project
run : npm ci
working-directory: ./e2e/test-projects/${{ matrix.package }}
- name: Run generate-license-file
uses: ./
with:
input: './e2e/test-projects/${{ matrix.package }}/package.json'
output: './e2e/test-projects/${{ matrix.package }}/${{ github.job }}.txt'
lineEnding: 'posix'
- name: Assert generated output
shell: pwsh
run: |
$expectedHash = (Get-FileHash "./e2e/test-projects/${{ matrix.package }}/expected-results/lf.txt").Hash;
$actualHash = (Get-FileHash "./e2e/test-projects/${{ matrix.package }}/${{ github.job }}.txt").Hash;
Write-Host "Expected: $expectedHash";
Write-Host "Actual: $actualHash";
exit($expectedHash -eq $actualHash ? 0 : 1)