-
Notifications
You must be signed in to change notification settings - Fork 3
138 lines (120 loc) · 3.43 KB
/
ci.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
name: CI
on:
workflow_dispatch:
push:
branches:
- develop
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '20'
- name: Install dependencies
run: |
# npm install
npm ci
- name: Run unit tests
run: |
set -x
pwd
ls -all
npm run test
- name: Upload to Artifacts
uses: actions/upload-artifact@v4
with:
name: newman-reporter-influxdb
path: newman-reporter-influxdb-*.tgz
if-no-files-found: error
github-release:
needs: [build]
runs-on: ubuntu-latest
environment: github_release
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
steps:
- id: version
name: Get Version
run: |
set -x
VERSION=`npm view . version`
echo "version=${VERSION}" > $GITHUB_OUTPUT
- uses: actions/download-artifact@v4
with:
merge-multiple: true
- name: List all files
if: always()
run: |
set -x
pwd
ls -all
tree
- name: Create Release ${{ steps.version.outputs.version }}
uses: softprops/action-gh-release@v1
with:
name: newman-reporter-influxdb Release ${{ steps.version.outputs.version }}
tag_name: ${{ steps.version.outputs.version }}
generate_release_notes: true
files: |
*.tgz
publish-npm:
needs: [github-release]
runs-on: ubuntu-latest
environment: npm_release
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '20'
registry-url: https://registry.npmjs.org/
# TODO: Remove once CI validated
# - run: |
# LATEST=`npm view . version`
# CURRENT=`cat package.json | jq -r .version`
# if [ "$LATEST" != "$CURRENT" ]
# then
# npm ci
# npm publish
# fi
# env:
# NODE_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}}
publish-gpr:
needs: [github-release]
runs-on: ubuntu-latest
environment: npm_release
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '20'
registry-url: https://npm.pkg.github.com/
scope: '@vs4vijay'
# - run: |
# LATEST=`npm view . version`
# CURRENT=`cat package.json | jq -r .version`
# if [ "$LATEST" != "$CURRENT" ]
# then
# npm ci
# npm publish --access public
# fi
- name: Modify package.json to add @vs4vijay
run: |
node <<EOF
const fs = require('fs').promises;
fs.readFile('package.json', 'utf8').then((data) => JSON.parse(data)).then((json) => {
json.name = '@$(echo "$GITHUB_REPOSITORY" | sed 's/\/.\+//')/' + json.name;
console.info('Package name changed to %s', json.name);
return fs.writeFile('package.json', JSON.stringify(json), 'utf8');
}).catch(error => {
console.error(error);
process.exit(1);
});
EOF
- run: npm ci
# TODO: Remove once CI validated
# - run: npm publish --access public
# env:
# NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}