-
Notifications
You must be signed in to change notification settings - Fork 13
122 lines (114 loc) · 3.76 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
name: CI
on:
- push
- pull_request
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
# lint:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: actions/cache@v4
# with:
# path: '**/node_modules'
# key: ${{ runner.os }}-lint-modules-${{ hashFiles('**/yarn.lock') }}
# - uses: actions/setup-node@v4
# with:
# node-version: 20.x
# - run: corepack enable
# - run: yarn install --ignore-engines --frozen-lockfile
# - run: yarn run lint
# test:
# needs: lint
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# os:
# - ubuntu-latest
# node-version:
# - 16.x
# - 18.x
# - 20.x
# steps:
# - uses: actions/setup-node@v4
# with:
# node-version: ${{ matrix.node-version }}
# - run: git config --global core.autocrlf input
# - uses: actions/checkout@v4
# - uses: actions/cache@v4
# with:
# path: '**/node_modules'
# key: ${{ runner.os }}-test-modules-${{ hashFiles('**/yarn.lock') }}
# - run: corepack enable
# - run: yarn install --ignore-engines --frozen-lockfile
# - run: yarn run build
# - run: yarn run test
# - uses: coverallsapp/github-action@master
# with:
# github-token: ${{ secrets.github_token }}
# flag-name: run-${{ matrix.node-version }}
# parallel: true
# coveralls:
# needs: test
# runs-on: ubuntu-latest
# steps:
# - name: Consolidate test coverage from different jobs
# uses: coverallsapp/github-action@master
# with:
# github-token: ${{ secrets.github_token }}
# parallel-finished: true
jenafuseki:
# needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v4
with:
node-version: 20.x
- run: git config --global core.autocrlf input
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: '**/node_modules'
key: ${{ runner.os }}-docker-modules-${{ hashFiles('**/yarn.lock') }}
- run: corepack enable
- run: yarn install --ignore-engines --frozen-lockfile
- run: yarn build
- run: |
docker run \
--rm \
--detach \
--name endpoint \
--publish 8080:3030 \
--env FUSEKI_DATASET_1=mydataset \
--volume $(pwd)/.github/workflows/shiro.ini:/jena-fuseki/shiro.ini \
stain/jena-fuseki@sha256:4d84eb09dc69603cab990a25a5ad683cec648159f39ccf5dbffba312e7d7666a
docker ps
- name: insert data
run: |
node bin/fetch-sparql-endpoint.js http://127.0.0.1:8080/mydataset/update \
--query 'insert data { <ex:s> <ex:p> <ex:o> }' \
| grep 'OK' &> /dev/null && echo "OK" || (echo "Update failed" && exit 1)
- name: test data existence
run: |
node bin/fetch-sparql-endpoint.js http://127.0.0.1:8080/mydataset/sparql \
--query 'select * where { ?s ?p ?o }' \
| grep '{"s":"ex:s","p":"ex:p","o":"ex:o"}' &> /dev/null && echo "OK" || (echo "Query failed" && exit 1)
- run: docker stop endpoint
if: always()
# webpack:
# needs: test
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: actions/cache@v4
# with:
# path: '**/node_modules'
# key: ${{ runner.os }}-webpack-modules-${{ hashFiles('**/yarn.lock') }}
# - uses: actions/setup-node@v4
# with:
# node-version: 20.x
# - run: corepack enable
# - run: yarn install --ignore-engines --frozen-lockfile
# - run: npx webpack