Skip to content

Commit a9ae9c2

Browse files
lucebacMeneDev
authored andcommitted
upgrade build and use go modules instead of dep
1 parent 9aee759 commit a9ae9c2

File tree

8 files changed

+97
-282
lines changed

8 files changed

+97
-282
lines changed

.circleci/config.yml

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ jobs:
66
- checkout
77
- restore_cache:
88
key: builder-{{ checksum "builder2/Dockerfile" }}
9-
paths:
10-
- /tmp/docker_pushed
119
- run:
1210
name: Build and push image if builder/Dockerfile has changed
1311
command: |
@@ -30,30 +28,25 @@ jobs:
3028

3129
working_directory: /go/src/github.com/MeneDev/yubi-oath-vpn
3230
environment:
33-
- DEP_VERSION: 0.5.0
34-
- GITHUB_USER: MeneDev
35-
- GITHUB_PROJECT: yubi-oath-vpn
36-
- GOCACHE: "/tmp/go/cache"
31+
GITHUB_USER: MeneDev
32+
GITHUB_PROJECT: yubi-oath-vpn
3733
steps:
3834
- checkout
3935
- restore_cache:
40-
key: gopkg-linux-windows-{{ checksum "Gopkg.lock" }}
41-
paths:
42-
- /go/src/github.com/MeneDev/yubi-oath-vpn/vendor
43-
- /tmp/go/cache
36+
key: gopkg-linux-windows-{{ checksum "go.mod" }}
4437
- run:
4538
name: Download and build libraries
4639
command: |
4740
if [ ! -d ./vendor ]; then
48-
/go/bin/dep ensure
41+
go mod vendor
4942
find vendor/ -maxdepth 3 -mindepth 3 -exec bash -c 'cd $0 && go build ./...' {} \;
5043
CGO_LDFLAGS_ALLOW='.*' CGO_CFLAGS_ALLOW='.*' CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ CGO_ENABLED=1 GOOS=windows GOARCH=amd64 PKG_CONFIG_PATH=/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig find vendor/ -maxdepth 3 -mindepth 3 -exec bash -c 'cd $0 && go build ./...' {} \;
5144
fi
5245
- save_cache:
53-
key: gopkg-linux-windows-{{ checksum "Gopkg.lock" }}
46+
key: gopkg-linux-windows-{{ checksum "go.mod" }}
5447
paths:
5548
- ./vendor
56-
- /tmp/go/cache
49+
- /go/.cache
5750

5851
- run:
5952
name: Build project for linux
@@ -68,7 +61,7 @@ jobs:
6861
6962
- run: release/yubi-oath-vpn-linux_amd64 --version
7063

71-
- run: cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/{iconv.dll,libatk-1.0-0.dll,libbz2-1.dll,libcairo-2.dll,libcairo-gobject-2.dll,libepoxy-0.dll,libexpat-1.dll,libffi-6.dll,libfontconfig-1.dll,libfreetype-6.dll,libgcc_s_seh-1.dll,libgdk-3-0.dll,libgdk_pixbuf-2.0-0.dll,libgio-2.0-0.dll,libglib-2.0-0.dll,libgmodule-2.0-0.dll,libgobject-2.0-0.dll,libgtk-3-0.dll,libintl-8.dll,libpango-1.0-0.dll,libpangocairo-1.0-0.dll,libpangowin32-1.0-0.dll,libpcre-1.dll,libpixman-1-0.dll,libpng16-16.dll,libwinpthread-1.dll,zlib1.dll} release/windows
64+
- run: cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/{iconv.dll,libatk-1.0-0.dll,libbz2-1.dll,libcairo-2.dll,libcairo-gobject-2.dll,libepoxy-0.dll,libexpat-1.dll,libffi-8.dll,libfontconfig-1.dll,libfreetype-6.dll,libgcc_s_seh-1.dll,libgdk-3-0.dll,libgdk_pixbuf-2.0-0.dll,libgio-2.0-0.dll,libglib-2.0-0.dll,libgmodule-2.0-0.dll,libgobject-2.0-0.dll,libgtk-3-0.dll,libintl-8.dll,libpango-1.0-0.dll,libpangocairo-1.0-0.dll,libpangowin32-1.0-0.dll,libpcre-1.dll,libpixman-1-0.dll,libpng16-16.dll,libwinpthread-1.dll,zlib1.dll} release/windows
7265

7366
- run: find 3rd-party-licenses -mindepth 1 -exec basename {} .txt \; -exec echo \; -exec cat {} \; -exec echo -e '\n\n\n\n' \; > release/3rd-party-licenses.txt
7467
- run: find 3rd-party-licenses -mindepth 1 -exec basename {} .txt \; -exec echo \; -exec cat {} \; -exec echo -e '\n\n\n\n' \; > release/windows/3rd-party-licenses.txt

Dockerfile

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
1-
FROM menedev/yubi-oath-vpn-builder:latest
1+
# requires buildkit for caching; run: DOCKER_BUILDKIT=1 docker build -t yubi-oath-vpn .
22

3-
ENV GOCACHE=/tmp/go/cache
4-
RUN mkdir -p $GOCACHE
3+
FROM yubi-oath-vpn-builder:latest
54

6-
# build dependencies
5+
# download dependencies
76
RUN mkdir -p /go/src/github.com/MeneDev/yubi-oath-vpn
87
WORKDIR /go/src/github.com/MeneDev/yubi-oath-vpn
9-
COPY Gopkg.* ./
10-
RUN /go/bin/dep ensure --vendor-only
11-
RUN find vendor/ -maxdepth 3 -mindepth 3 -exec bash -c 'cd $0 && go build -v ./...' {} \;
8+
COPY go.* ./
9+
RUN go mod download
1210

1311
# build project
14-
COPY *.go ./
15-
RUN CIRCLE_BUILD_NUM=build123 CIRCLE_SHA1=aabbccddeeff gox -ldflags="-s -w -X \"main.Version=${tag:-not a release}\" -X \"main.BuildDate=$(date --utc)\" -X \"main.BuildNumber=$CIRCLE_BUILD_NUM\" -X \"main.BuildCommit=$CIRCLE_SHA1\"" -os="linux" -arch="amd64" -output "release/yubi-oath-vpn-{{.OS}}_{{.Arch}}"
16-
RUN release/yubi-oath-vpn-linux_amd64 --version
12+
COPY . ./
13+
RUN --mount=type=cache,target=/go/.cache CIRCLE_BUILD_NUM=build123 CIRCLE_SHA1=aabbccddeeff go build -ldflags="-s -w -X \"main.Version=${tag:-not a release}\" -X \"main.BuildDate=$(date --utc)\" -X \"main.BuildNumber=$CIRCLE_BUILD_NUM\" -X \"main.BuildCommit=$CIRCLE_SHA1\"" -o yubi-oath-vpn-linux_amd64 ./cmd/yubi-oath-vpn/
14+
ENTRYPOINT ["./yubi-oath-vpn-linux_amd64"]

Gopkg.lock

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

Gopkg.toml

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

builder2/Dockerfile

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM fedora:29
1+
FROM fedora:36
22

33
RUN dnf install -y \
44
findutils \
@@ -7,33 +7,27 @@ RUN dnf install -y \
77
gtk3-devel \
88
libudev-devel \
99
libusbx-devel \
10-
mingw32-gcc mingw64-gcc \
10+
mingw32-gcc \
11+
mingw64-gcc \
1112
mingw32-gcc-c++ \
1213
mingw32-glib2 \
1314
mingw32-gtk3 \
15+
mingw32-libusbx \
1416
mingw64-gcc-c++ \
1517
mingw64-glib2 \
1618
mingw64-gtk3 \
19+
mingw64-libusbx \
1720
pcsc-lite-devel \
1821
zip \
1922
&& \
2023
dnf clean all
2124

22-
RUN mkdir /go
23-
RUN mkdir /go/bin
2425
ENV GOPATH /go
26+
ENV GOCACHE /go/.cache
2527
ENV PATH "$PATH:$GOPATH/bin"
2628

27-
RUN curl -sL https://github.com/tcnksm/ghr/releases/download/v0.15.0/ghr_v0.15.0_linux_amd64.tar.gz | tar -xz --strip-components=1 --directory "$GOPATH/bin" ghr_v0.15.0_linux_amd64/ghr
28-
RUN go get -u github.com/stevenmatthewt/semantics
29-
30-
RUN curl -L -s https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64 -o /go/bin/dep \
31-
&& chmod +x /go/bin/dep
32-
33-
RUN mkdir -p /go/src/github.com/mitchellh/gox
34-
RUN git clone --branch master https://github.com/mitchellh/gox.git /go/src/github.com/mitchellh/gox
35-
RUN cd /go/src/github.com/mitchellh/gox && git reset --hard 9cc487598128d0963ff9dcc51176e722788ec645
36-
RUN cd /go/src/github.com/mitchellh/gox && dep ensure && go install -v ./...
29+
RUN go install github.com/tcnksm/ghr@v0.15.0
30+
RUN go install github.com/stevenmatthewt/semantics@latest
3731

3832
# CGO_LDFLAGS_ALLOW='.*' CGO_CFLAGS_ALLOW='.*' CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ CGO_ENABLED=1 GOOS=windows GOARCH=amd64 PKG_CONFIG_PATH=/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig go build -v github.com/MeneDev/yubi-oath-vpn/cmd/yubi-oath-vpn
39-
# cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/{libatk-1.0-0.dll,libbz2-1.dll,libcairo-2.dll,libcairo-gobject-2.dll,libepoxy-0.dll,libexpat-1.dll,libffi-6.dll,libfontconfig-1.dll,libfreetype-6.dll,libgcc_s_seh-1.dll,libgdk-3-0.dll,libgdk_pixbuf-2.0-0.dll,libgio-2.0-0.dll,libgit2.dll,libglib-2.0-0.dll,libgmodule-2.0-0.dll,libgobject-2.0-0.dll,libgraphite2.dll,libgtk-3-0.dll,libharfbuzz-0.dll,libiconv-2.dll,libintl-8.dll,libjasper-1.dll,libjpeg-8.dll,libpango-1.0-0.dll,libpangocairo-1.0-0.dll,libpangoft2-1.0-0.dll,libpangowin32-1.0-0.dll,libpcre-1.dll,libpixman-1-0.dll,libpng16-16.dll,libstdc++-6.dll,libwinpthread-1.dll,zlib1.dll} /go/src/github.com/MeneDev/yubi-oath-vpn/release
33+
# cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/{libatk-1.0-0.dll,libbz2-1.dll,libcairo-2.dll,libcairo-gobject-2.dll,libepoxy-0.dll,libexpat-1.dll,libffi-6.dll,libfontconfig-1.dll,libfreetype-6.dll,libgcc_s_seh-1.dll,libgdk-3-0.dll,libgdk_pixbuf-2.0-0.dll,libgio-2.0-0.dll,libgit2.dll,libglib-2.0-0.dll,libgmodule-2.0-0.dll,libgobject-2.0-0.dll,libgraphite2.dll,libgtk-3-0.dll,libharfbuzz-0.dll,libiconv-2.dll,libintl-8.dll,libjasper-1.dll,libjpeg-8.dll,libpango-1.0-0.dll,libpangocairo-1.0-0.dll,libpangoft2-1.0-0.dll,libpangowin32-1.0-0.dll,libpcre-1.dll,libpixman-1-0.dll,libpng16-16.dll,libstdc++-6.dll,libwinpthread-1.dll,zlib1.dll} /go/src/github.com/MeneDev/yubi-oath-vpn/release

0 commit comments

Comments
 (0)