Skip to content

Commit c485f2e

Browse files
committed
fix: update libjq-go: better compile performance
- fix build in actions and Dockefiles
1 parent 783391e commit c485f2e

File tree

7 files changed

+26
-31
lines changed

7 files changed

+26
-31
lines changed

.github/workflows/build.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ jobs:
6363
6464
git clone https://github.com/flant/libjq-go libjq-go
6565
cd libjq-go
66-
git checkout fix_build_script
6766
git submodule update --init --recursive
6867
sudo ./scripts/install-libjq-dependencies-ubuntu.sh
6968

.github/workflows/lint.yaml

+4-5
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ jobs:
4747
# Restore libjq-go-build directory from cache or build it, upload it as artifact for other jobs.
4848
- name: Extract libjq-go.lock from go.mod
4949
run: |
50-
grep 'flant/libjq-go' go.mod > libjq-go.lock
51-
cat libjq-go.lock
50+
go list -m github.com/flant/libjq-go | tee > libjq-go.lock
5251
5352
- name: Cache libjq libraries
5453
id: libjq-cache
@@ -65,7 +64,7 @@ jobs:
6564
6665
git clone https://github.com/flant/libjq-go libjq-go
6766
cd libjq-go
68-
git submodule update --init
67+
git submodule update --init --recursive
6968
sudo ./scripts/install-libjq-dependencies-ubuntu.sh
7069
7170
./scripts/build-libjq-static.sh ${GITHUB_WORKSPACE}/libjq-go ${GITHUB_WORKSPACE}/libjq
@@ -76,10 +75,10 @@ jobs:
7675
run: |
7776
echo ::set-env name=CGO_ENABLED::1
7877
79-
CGO_CFLAGS="-I$GITHUB_WORKSPACE/libjq/build/jq/include"
78+
CGO_CFLAGS="-I$GITHUB_WORKSPACE/libjq/include"
8079
echo ::set-env name=CGO_CFLAGS::${CGO_CFLAGS}
8180
82-
CGO_LDFLAGS="-L$GITHUB_WORKSPACE/libjq/build/onig/lib -L$GITHUB_WORKSPACE/libjq/build/jq/lib"
81+
CGO_LDFLAGS="-L$GITHUB_WORKSPACE/libjq/lib"
8382
echo ::set-env name=CGO_LDFLAGS::${CGO_LDFLAGS}
8483
8584
echo ::set-env name=GOOS::linux

.github/workflows/tests.yaml

+6-9
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,7 @@ jobs:
7676
# Restore libjq-go-build directory from cache or build it, upload it as artifact for other jobs.
7777
- name: Extract libjq-go.lock from go.mod
7878
run: |
79-
grep 'flant/libjq-go' go.mod > libjq-go.lock
80-
cat libjq-go.lock
79+
go list -m github.com/flant/libjq-go | tee > libjq-go.lock
8180
8281
- name: Cache libjq libraries
8382
id: libjq-cache
@@ -94,7 +93,7 @@ jobs:
9493
9594
git clone https://github.com/flant/libjq-go libjq-go
9695
cd libjq-go
97-
git submodule update --init
96+
git submodule update --init --recursive
9897
sudo ./scripts/install-libjq-dependencies-ubuntu.sh
9998
10099
./scripts/build-libjq-static.sh ${GITHUB_WORKSPACE}/libjq-go ${GITHUB_WORKSPACE}/libjq
@@ -105,10 +104,10 @@ jobs:
105104
run: |
106105
echo ::set-env name=CGO_ENABLED::1
107106
108-
CGO_CFLAGS="-I$GITHUB_WORKSPACE/libjq/build/jq/include"
107+
CGO_CFLAGS="-I$GITHUB_WORKSPACE/libjq/include"
109108
echo ::set-env name=CGO_CFLAGS::${CGO_CFLAGS}
110109
111-
CGO_LDFLAGS="-L$GITHUB_WORKSPACE/libjq/build/onig/lib -L$GITHUB_WORKSPACE/libjq/build/jq/lib"
110+
CGO_LDFLAGS="-L$GITHUB_WORKSPACE/libjq/lib"
112111
echo ::set-env name=CGO_LDFLAGS::${CGO_LDFLAGS}
113112
114113
echo ::set-env name=GOOS::linux
@@ -165,8 +164,7 @@ jobs:
165164
# Restore libjq-go-build directory from cache or build it, upload it as artifact for other jobs.
166165
- name: Extract libjq-go.lock from go.mod
167166
run: |
168-
grep 'flant/libjq-go' go.mod > libjq-go.lock
169-
cat libjq-go.lock
167+
go list -m github.com/flant/libjq-go | tee > libjq-go.lock
170168
171169
- name: Cache libjq libraries
172170
id: libjq-cache
@@ -183,13 +181,12 @@ jobs:
183181
184182
git clone https://github.com/flant/libjq-go libjq-go
185183
cd libjq-go
186-
git submodule update --init
184+
git submodule update --init --recursive
187185
sudo ./scripts/install-libjq-dependencies-ubuntu.sh
188186
189187
./scripts/build-libjq-static.sh ${GITHUB_WORKSPACE}/libjq-go ${GITHUB_WORKSPACE}/libjq
190188
191189
tree ${GITHUB_WORKSPACE}/libjq
192-
shell: bash
193190
194191
- name: Upload libjq libraries
195192
uses: actions/upload-artifact@master

Dockerfile

+4-4
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ RUN apt-get update && \
1111
cd /libjq-go && \
1212
git submodule update --init && \
1313
/libjq-go/scripts/install-libjq-dependencies-ubuntu.sh && \
14-
/libjq-go/scripts/build-libjq-static.sh /libjq-go /out
14+
/libjq-go/scripts/build-libjq-static.sh /libjq-go /libjq
1515

1616

1717
# build shell-operator binary
@@ -23,12 +23,12 @@ ADD go.mod go.sum /src/shell-operator/
2323
WORKDIR /src/shell-operator
2424
RUN go mod download
2525

26-
COPY --from=libjq /out/build /build
26+
COPY --from=libjq /libjq /libjq
2727
ADD . /src/shell-operator
2828

2929
RUN CGO_ENABLED=1 \
30-
CGO_CFLAGS="-I/build/jq/include" \
31-
CGO_LDFLAGS="-L/build/onig/lib -L/build/jq/lib" \
30+
CGO_CFLAGS="-I/libjq/include" \
31+
CGO_LDFLAGS="-L/libjq/lib" \
3232
GOOS=linux \
3333
go build -ldflags="-s -w -X 'github.com/flant/shell-operator/pkg/app.Version=$appVersion'" \
3434
-o shell-operator \

Dockerfile-alpine3.10

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ RUN apk --no-cache add git ca-certificates && \
55
cd /libjq-go && \
66
git submodule update --init && \
77
/libjq-go/scripts/install-libjq-dependencies-alpine.sh && \
8-
/libjq-go/scripts/build-libjq-static.sh /libjq-go /out
8+
/libjq-go/scripts/build-libjq-static.sh /libjq-go /libjq
99

1010

1111
# build shell-operator binary
@@ -18,12 +18,12 @@ ADD go.mod go.sum /src/shell-operator/
1818
WORKDIR /src/shell-operator
1919
RUN go mod download
2020

21-
COPY --from=libjq /out/build /build
21+
COPY --from=libjq /libjq /libjq
2222
ADD . /src/shell-operator
2323

2424
RUN CGO_ENABLED=1 \
25-
CGO_CFLAGS="-I/build/jq/include" \
26-
CGO_LDFLAGS="-L/build/onig/lib -L/build/jq/lib" \
25+
CGO_CFLAGS="-I/libjq/include" \
26+
CGO_LDFLAGS="-L/libjq/lib" \
2727
GOOS=linux \
2828
go build -ldflags="-s -w -X 'github.com/flant/shell-operator/pkg/app.Version=$appVersion'" \
2929
-o shell-operator \

Dockerfile-alpine3.11

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ RUN apk --no-cache add git ca-certificates && \
55
cd /libjq-go && \
66
git submodule update --init && \
77
/libjq-go/scripts/install-libjq-dependencies-alpine.sh && \
8-
/libjq-go/scripts/build-libjq-static.sh /libjq-go /out
8+
/libjq-go/scripts/build-libjq-static.sh /libjq-go /libjq
99

1010

1111
# build shell-operator binary
@@ -18,12 +18,12 @@ ADD go.mod go.sum /src/shell-operator/
1818
WORKDIR /src/shell-operator
1919
RUN go mod download
2020

21-
COPY --from=libjq /out/build /build
21+
COPY --from=libjq /libjq /libjq
2222
ADD . /src/shell-operator
2323

2424
RUN CGO_ENABLED=1 \
25-
CGO_CFLAGS="-I/build/jq/include" \
26-
CGO_LDFLAGS="-L/build/onig/lib -L/build/jq/lib" \
25+
CGO_CFLAGS="-I/libjq/include" \
26+
CGO_LDFLAGS="-L/libjq/lib" \
2727
GOOS=linux \
2828
go build -ldflags="-s -w -X 'github.com/flant/shell-operator/pkg/app.Version=$appVersion'" \
2929
-o shell-operator \

Dockerfile-alpine3.9

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ RUN apk --no-cache add git ca-certificates && \
55
cd /libjq-go && \
66
git submodule update --init && \
77
/libjq-go/scripts/install-libjq-dependencies-alpine.sh && \
8-
/libjq-go/scripts/build-libjq-static.sh /libjq-go /out
8+
/libjq-go/scripts/build-libjq-static.sh /libjq-go /libjq
99

1010

1111
# build shell-operator binary
@@ -18,12 +18,12 @@ ADD go.mod go.sum /src/shell-operator/
1818
WORKDIR /src/shell-operator
1919
RUN go mod download
2020

21-
COPY --from=libjq /out/build /build
21+
COPY --from=libjq /libjq /libjq
2222
ADD . /src/shell-operator
2323

2424
RUN CGO_ENABLED=1 \
25-
CGO_CFLAGS="-I/build/jq/include" \
26-
CGO_LDFLAGS="-L/build/onig/lib -L/build/jq/lib" \
25+
CGO_CFLAGS="-I/libjq/include" \
26+
CGO_LDFLAGS="-L/libjq/lib" \
2727
GOOS=linux \
2828
go build -ldflags="-s -w -X 'github.com/flant/shell-operator/pkg/app.Version=$appVersion'" \
2929
-o shell-operator \

0 commit comments

Comments
 (0)