-
Notifications
You must be signed in to change notification settings - Fork 14
162 lines (139 loc) · 4.45 KB
/
test_action_locally.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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
name: Test the action
on:
push:
permissions:
contents: read
jobs:
normal-run:
name: normal
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.19.0'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Create the reporting folder
run: mkdir reporting
- uses: ./ # uses the action in the current directory
id: scorecard
with:
scope: reporting/scope.json
database: reporting/database.json
report: reporting/openssf-scorecard-report.md
discovery-enabled: true
discovery-orgs: UlisesGascon
# The token is needed to create issues, discovery mode and pushing changes in files
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Show output in job summary
run: cat reporting/openssf-scorecard-report.md >> $GITHUB_STEP_SUMMARY
- name: Upload the output files
uses: actions/upload-artifact@v3
with:
name: report
path: reporting/*.*
# todo: test the result files to see if they have content that is correct
- name: Test if the output files have content
run: |
# test if the markdown file has content
if [ -s reporting/openssf-scorecard-report.md ]; then
echo "The markdown file has content"
else
echo "The markdown file is empty"
exit 1
fi
# test if the database file has content
if [ -s reporting/database.json ]; then
echo "The database file has content"
else
echo "The database file is empty"
exit 1
fi
# test if the scope file has content
if [ -s reporting/scope.json ]; then
echo "The scope file has content"
else
echo "The scope file is empty"
exit 1
fi
- name: test the actions' output
env:
OUTPUT: ${{ steps.scorecard.outputs.scores }}
run: |
if [ -z "$OUTPUT" ]; then
echo "The output of the action is empty"
exit 1
else
echo "The output of the action is not empty, which is correct"
fi
with-badges-run:
name: wih OSSF badges
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.19.0'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Create the reporting folder
run: mkdir reporting
- uses: ./ # uses the action in the current directory
id: scorecard
with:
scope: reporting/scope.json
database: reporting/database.json
report: reporting/openssf-scorecard-report.md
discovery-enabled: true
discovery-orgs: UlisesGascon
# The token is needed to create issues, discovery mode and pushing changes in files
github-token: ${{ secrets.GITHUB_TOKEN }}
render-badge: true
- name: Show output in job summary
run: cat reporting/openssf-scorecard-report.md >> $GITHUB_STEP_SUMMARY
- name: Upload the output files
uses: actions/upload-artifact@v3
with:
name: report
path: reporting/*.*
# todo: test the result files to see if they have content that is correct
- name: Test if the output files have content
run: |
# test if the markdown file has content
if [ -s reporting/openssf-scorecard-report.md ]; then
echo "The markdown file has content"
else
echo "The markdown file is empty"
exit 1
fi
# test if the database file has content
if [ -s reporting/database.json ]; then
echo "The database file has content"
else
echo "The database file is empty"
exit 1
fi
# test if the scope file has content
if [ -s reporting/scope.json ]; then
echo "The scope file has content"
else
echo "The scope file is empty"
exit 1
fi
- name: test the actions' output
env:
OUTPUT: ${{ steps.scorecard.outputs.scores }}
run: |
if [ -z "$OUTPUT" ]; then
echo "The output of the action is empty"
exit 1
else
echo "The output of the action is not empty, which is correct"
fi