Skip to content

Commit f507982

Browse files
authored
Merge pull request #52 from achilleas-k/validator/nixpy
LGTM
2 parents 1fc8720 + 57154d2 commit f507982

File tree

7 files changed

+42
-81
lines changed

7 files changed

+42
-81
lines changed

Dockerfile

Lines changed: 13 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -27,64 +27,43 @@ RUN go build ./cmd/ginvalid
2727

2828
### ============================ ###
2929

30-
# NIX BUILDER IMAGE
31-
FROM alpine:latest as nixbuilder
32-
33-
# HDF5 is in the 'testing' repository
34-
RUN echo http://dl-2.alpinelinux.org/alpine/edge/testing >> /etc/apk/repositories
35-
RUN apk --no-cache --no-progress add \
36-
git \
37-
openssh \
38-
cmake \
39-
doxygen \
40-
git \
41-
build-base \
42-
boost-dev \
43-
boost-static \
44-
cppunit-dev \
45-
hdf5-dev \
46-
hdf5-static
47-
48-
RUN git clone https://github.com/G-Node/nix /nix
49-
WORKDIR /nix
50-
RUN git checkout master
51-
RUN mkdir build
52-
WORKDIR build
53-
RUN cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=Yes -DBUILD_STATIC=on ..
54-
RUN make all
55-
5630
# RUNNER IMAGE
5731
FROM alpine:latest
5832

5933
# Runtime deps
60-
RUN echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
61-
&& apk --no-cache --no-progress add \
34+
RUN echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories
35+
RUN echo http://dl-2.alpinelinux.org/alpine/edge/testing/ >> /etc/apk/repositories
36+
RUN apk --no-cache --no-progress add \
6237
bash \
6338
git \
6439
nodejs \
6540
npm \
6641
openssh \
6742
python3 \
68-
py3-lxml
43+
py3-lxml \
44+
py3-h5py \
45+
py3-numpy
6946

7047
# Install the BIDS validator
7148
RUN npm install -g bids-validator
7249

73-
# Install odml for odML validation
50+
# Upgrade pip before install python packages
7451
RUN pip3 install -U pip
52+
53+
# Install odml for odML validation
7554
RUN pip3 install odml
7655

7756
# Copy odML validation script
7857
COPY ./scripts/odml-validate /bin
7958

59+
# Install NIXPy for NIX validation
60+
# Use master branch until new beta is released
61+
RUN pip3 install --no-cache-dir -U git+https://github.com/G-Node/nixpy@master
62+
8063
# Copy git-annex from builder image
8164
COPY --from=binbuilder /git-annex /git-annex
8265
ENV PATH="${PATH}:/git-annex/git-annex.linux"
8366

84-
# Copy nixio-tool from nixbuilder image
85-
COPY --from=nixbuilder /nix/build/nixio-tool /bin
86-
87-
RUN nixio-tool
8867
RUN mkdir -p /gin-valid/results/
8968
RUN mkdir -p /gin-valid/tmp/
9069
RUN mkdir -p /gin-valid/config

go.mod

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,25 @@ module github.com/G-Node/gin-valid
33
go 1.12
44

55
require (
6-
github.com/G-Node/gin-cli v0.0.0-20190812205442-4a7c8da2e5c5
6+
github.com/G-Node/gin-cli v0.0.0-20190819162807-7786caf50bbd
77
github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815
88
github.com/gogits/go-gogs-client v0.0.0-20190710002546-4c3c18947c15
99
github.com/gogs/go-gogs-client v0.0.0-20190710002546-4c3c18947c15
1010
github.com/google/uuid v1.1.1
1111
github.com/gorilla/handlers v1.4.2
1212
github.com/gorilla/mux v1.7.3
1313
github.com/magiconair/properties v1.8.1 // indirect
14-
github.com/mattn/go-isatty v0.0.9 // indirect
15-
github.com/pelletier/go-toml v1.4.0 // indirect
14+
github.com/mattn/go-colorable v0.1.4 // indirect
15+
github.com/mattn/go-isatty v0.0.10 // indirect
16+
github.com/pelletier/go-toml v1.5.0 // indirect
1617
github.com/spf13/afero v1.2.2 // indirect
1718
github.com/spf13/jwalterweatherman v1.1.0 // indirect
19+
github.com/spf13/pflag v1.0.5 // indirect
1820
github.com/stretchr/testify v1.4.0 // indirect
21+
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 // indirect
22+
golang.org/x/sys v0.0.0-20191010194322-b09406accb47 // indirect
1923
golang.org/x/text v0.3.2 // indirect
20-
gopkg.in/yaml.v2 v2.2.2
24+
gopkg.in/yaml.v2 v2.2.4
2125
)
2226

2327
replace (

go.sum

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX
33
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
44
github.com/G-Node/gin-cli v0.0.0-20190812205442-4a7c8da2e5c5 h1:BTCyySKYPmhZyzgCNJmxFA+1JKAMFRPLBM7djqbXTKE=
55
github.com/G-Node/gin-cli v0.0.0-20190812205442-4a7c8da2e5c5/go.mod h1:pnIO6Skp2YvaAdH6OyOmP4DhQCk5jz1zmwOola6JorU=
6+
github.com/G-Node/gin-cli v0.0.0-20190819162807-7786caf50bbd h1:LV6U43cTTlP4bs3sqw+Y7wVlnzIv4WmcRaenH59gMNo=
7+
github.com/G-Node/gin-cli v0.0.0-20190819162807-7786caf50bbd/go.mod h1:2f1LjS6FFL02x9J1WI3NuVr9wXGSlPolMLcubry3ES0=
68
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
79
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
810
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
@@ -72,16 +74,22 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
7274
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
7375
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
7476
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
77+
github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA=
78+
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
7579
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
7680
github.com/mattn/go-isatty v0.0.9 h1:d5US/mDsogSGW37IV293h//ZFaeajb69h+EHFsv2xGg=
7781
github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
82+
github.com/mattn/go-isatty v0.0.10 h1:qxFzApOv4WsAL965uUPIsXzAKCZxN2p9UqdhFS4ZW10=
83+
github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
7884
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
7985
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
8086
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
8187
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
8288
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
8389
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
8490
github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
91+
github.com/pelletier/go-toml v1.5.0 h1:5BakdOZdtKJ1FFk6QdL8iSGrMWsXgchNJcrnarjbmJQ=
92+
github.com/pelletier/go-toml v1.5.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys=
8593
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
8694
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
8795
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
@@ -110,6 +118,8 @@ github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tL
110118
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
111119
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
112120
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
121+
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
122+
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
113123
github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
114124
github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
115125
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@@ -130,6 +140,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf
130140
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
131141
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
132142
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
143+
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 h1:ObdrDkeb4kJdCP557AjRjq69pTHfNouLtWZG7j9rPN8=
144+
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
133145
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
134146
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
135147
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -153,6 +165,9 @@ golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5h
153165
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
154166
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a h1:aYOabOQFp6Vj6W1F80affTUvO9UxmJRx8K0gsfABByQ=
155167
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
168+
golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
169+
golang.org/x/sys v0.0.0-20191010194322-b09406accb47 h1:/XfQ9z7ib8eEJX2hdgFTZJ/ntt0swNk5oYBziWeTCvY=
170+
golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
156171
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
157172
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
158173
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -171,5 +186,7 @@ gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
171186
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
172187
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
173188
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
189+
gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
190+
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
174191
gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
175192
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

internal/config/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ var defaultCfg = ServerCfg{
7272
},
7373
Executables{
7474
BIDS: "bids-validator",
75-
NIX: "nixio-tool",
75+
NIX: "nixio-validate",
7676
ODML: "odml-validate",
7777
},
7878
Directories{

internal/resources/templates/repolist.go

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -54,27 +54,6 @@ const RepoList = `
5454
</div>
5555
{{end}}
5656
`
57-
const repoPage = `
58-
{{define "content"}}
59-
<div class="repository file list">
60-
<div><b>{{.FullName}}</b></div>
61-
<div><b>Available validators</b>:<br>
62-
{{range $hookname, $hook := .Hooks}}
63-
{{$hookname}}
64-
{{if eq $hook.State 0}}
65-
[Enabled] <a href="/repos/{{$.FullName}}/{{$hook.ID}}/disable">disable</a>
66-
{{else}}
67-
[Disabled] <a href="/repos/{{$.FullName}}/{{$hookname}}/enable">enable</a>
68-
{{end}}
69-
<br>
70-
{{end}}
71-
</div>
72-
<div>{{.Description}} {{.Website}}</div>
73-
<hr>
74-
</div>
75-
{{end}}
76-
`
77-
7857
const RepoPage = `
7958
{{define "content"}}
8059
<div class="repository file list">

internal/web/validate.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -201,8 +201,7 @@ func validateNIX(valroot, resdir string) error {
201201
outBadge := filepath.Join(resdir, srvcfg.Label.ResultsBadge)
202202

203203
var out, serr bytes.Buffer
204-
args := append([]string{"validate"}, nixfiles...)
205-
cmd := exec.Command(srvcfg.Exec.NIX, args...)
204+
cmd := exec.Command(srvcfg.Exec.NIX, nixfiles...)
206205
out.Reset()
207206
serr.Reset()
208207
cmd.Stdout = &out
@@ -215,8 +214,8 @@ func validateNIX(valroot, resdir string) error {
215214
}
216215

217216
// We need this for both the writing of the result and the badge
218-
errtag := []byte("ERROR")
219-
warntag := []byte("WARNING")
217+
errtag := []byte("with errors")
218+
warntag := []byte("with warnings")
220219
var badge []byte
221220
output := out.Bytes()
222221
switch {

run

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)