-
Notifications
You must be signed in to change notification settings - Fork 144
134 lines (115 loc) · 3.16 KB
/
main.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
name: Main
on:
push:
branches: [ "*" ]
pull_request:
branches: [ "*" ]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Set up Javascript/Node
uses: actions/setup-node@v4
with:
node-version: 18.19.0
- name: Check out code
uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: Cache multiple paths
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Build
run: |
npm install
npm run compile
npm run build
- name: Upload Artifact
uses: actions/upload-artifact@v3
if: ${{ always() }}
with:
name: logs
path: ~/.npm/_logs/*
retention-days: 14
build-debs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: jtdor/build-deb-action@v1
env:
DEB_BUILD_OPTIONS: noautodbgsym
with:
buildpackage-opts: --build=binary --no-sign
extra-build-deps: git
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
prerelease: true
files: |
LICENSE
bin/*
debian/artifacts/*.deb
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Set up nodejs
uses: actions/setup-node@v4
with:
node-version: 18.19.0
- name: Check out code
uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: Cache multiple paths
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install
run: |
npm install
- name: Tests
run: |
npm run test-core
npm run test-generate
npm run test-reports
npm run test-neighbor
npm run test-dump
- name: Tests RPKI
run: |
npm run test-rpki
- name: Tests Proxy
run: |
npm install -g anyproxy
nohup anyproxy --port 8001 &
ANYPROXY_PID=$!
npm run test-proxy
kill $ANYPROXY_PID
- name: Tests NPM
run: |
npm run test-npm
- name: Tests Kafka
run: |
sudo apt-get -y install tar
sudo apt-get -y install wget
wget -O kafka.tgz https://archive.apache.org/dist/kafka/3.5.0/kafka_2.12-3.5.0.tgz
mkdir kafka && tar -xzf kafka.tgz -C kafka --strip-components=1
nohup ./kafka/bin/zookeeper-server-start.sh ./kafka/config/zookeeper.properties &
nohup ./kafka/bin/kafka-server-start.sh ./kafka/config/server.properties &
nohup ./kafka/bin/kafka-topics.sh --create --topic bgpalerter --bootstrap-server 0.0.0.0:9092 --replication-factor 1 --partitions 1 &
sleep 30 && npm run test-kafka
- name: Upload Artifact
uses: actions/upload-artifact@v3
if: ${{ always() }}
with:
name: logs
path: ~/.npm/_logs/*
retention-days: 14