mirror of https://github.com/0xERR0R/blocky.git
another one
This commit is contained in:
parent
1ca3263f8b
commit
64480c645a
|
@ -230,7 +230,7 @@ jobs:
|
|||
echo ' docker.com' >> /tmp/blocky_test.yml
|
||||
|
||||
# test script
|
||||
echo '#!/bin/sh' >> /tmp/test.sh
|
||||
echo '#!/bin/sh' > /tmp/test.sh
|
||||
echo 'docker run -d -p 5333:5333/tcp --name test_${{ matrix.arch }} --rm -v /tmp/blocky_test.yml:/app/config.yml:ro ghcr.io/${{ github.repository }}:${{ needs.docker.outputs.branch }}' >> /tmp/test.sh
|
||||
echo 'sleep 20' >> /tmp/test.sh
|
||||
echo '[ "$(dig docker.com @127.0.0.1 +short +tcp -p 5333)" ] && exit 1 || echo "docker.com is blocked"' >> /tmp/test.sh
|
||||
|
@ -238,10 +238,12 @@ jobs:
|
|||
chmod +x /tmp/test.sh
|
||||
|
||||
# print files
|
||||
echo 'Content of /tmp/blocky_test.yml'
|
||||
echo '::group::Content of /tmp/blocky_test.yml'
|
||||
cat /tmp/blocky_test.yml
|
||||
echo 'Content of /tmp/test.sh'
|
||||
echo ''::endgroup::'
|
||||
echo '::group::Content of /tmp/test.sh'
|
||||
cat /tmp/test.sh
|
||||
echo '::endgroup::'
|
||||
|
||||
- name: Test amd64 image
|
||||
if: ${{ matrix.arm == false }}
|
||||
|
|
34
Dockerfile
34
Dockerfile
|
@ -1,3 +1,4 @@
|
|||
FROM ghcr.io/euantorano/zig:master AS zig-env
|
||||
# prepare build environment
|
||||
FROM --platform=$BUILDPLATFORM ghcr.io/gythialy/golang-cross-builder:v1.18.6-0 AS build
|
||||
|
||||
|
@ -9,7 +10,10 @@ ARG TARGETARCH
|
|||
ARG TARGETVARIANT
|
||||
|
||||
# arguments to environment
|
||||
ENV CGO_ENABLED=1
|
||||
ENV CC="zig cc"
|
||||
ENV CXX="zig c++"
|
||||
ENV AR="zig ar"
|
||||
ENV CGO_ENABLED=0
|
||||
ENV GOOS=$TARGETOS
|
||||
ENV GOARCH=$TARGETARCH
|
||||
|
||||
|
@ -19,31 +23,35 @@ RUN echo "blocky:x:100:65533:Blocky User,,,:/app:/sbin/nologin" > /tmp/blocky_pa
|
|||
# set working directory
|
||||
WORKDIR /go/src
|
||||
|
||||
COPY --from=zig-env /usr/local/bin/zig /usr/local/bin/zig
|
||||
|
||||
ENV PATH "/usr/local/bin/zig:${PATH}"
|
||||
|
||||
COPY ./docker /scripts
|
||||
RUN chmod +x /scripts/*.sh
|
||||
|
||||
# download packages
|
||||
COPY go.mod go.sum ./
|
||||
RUN --mount=type=cache,target=/go/pkg \
|
||||
go mod download
|
||||
|
||||
|
||||
# add source
|
||||
COPY . .
|
||||
RUN --mount=type=cache,target=/go/pkg \
|
||||
go generate ./...
|
||||
|
||||
# build binary
|
||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||
--mount=type=cache,target=/go/pkg \
|
||||
chmod +x ./docker/*.sh && \
|
||||
export GOARM=${TARGETVARIANT##*v} && \
|
||||
export CC=$(./docker/getenv_cc.sh) && \
|
||||
export CXX=$(./docker/getenv_cxx.sh) && \
|
||||
export LD=$(./docker/getenv_ld.sh) && \
|
||||
export AR=$(./docker/getenv_ar.sh) && \
|
||||
./docker/printenv.sh && \
|
||||
go generate ./... && \
|
||||
/scripts/printenv.sh && \
|
||||
go build \
|
||||
-tags static \
|
||||
-tags static,sqlite_omit_load_extensions,osusergo,netgo \
|
||||
-v \
|
||||
-ldflags="-linkmode external -extldflags -static -X github.com/0xERR0R/blocky/util.Version=${VERSION} -X github.com/0xERR0R/blocky/util.BuildTime=${BUILD_TIME}" \
|
||||
-o /bin/blocky && \
|
||||
setcap 'cap_net_bind_service=+ep' /bin/blocky && \
|
||||
-ldflags="-linkmode=external -extldflags=-static -s -w -X github.com/0xERR0R/blocky/util.Version=${VERSION} -X github.com/0xERR0R/blocky/util.BuildTime=${BUILD_TIME}" \
|
||||
-o /bin/blocky
|
||||
|
||||
RUN setcap 'cap_net_bind_service=+ep' /bin/blocky && \
|
||||
chown 100 /bin/blocky
|
||||
|
||||
# final stage
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [[ "$GOARCH" = "arm64" ]]
|
||||
then
|
||||
AR_BIN="aarch64-linux-gnu-ar"
|
||||
elif [[ "$GOARCH" = "arm" ]]
|
||||
then
|
||||
if [[ "$GOARM" = "7" ]]
|
||||
then
|
||||
AR_BIN="arm-linux-gnueabihf-ar"
|
||||
else
|
||||
AR_BIN="arm-linux-gnueabi-ar"
|
||||
fi
|
||||
else
|
||||
AR_BIN=""
|
||||
fi
|
||||
|
||||
echo $AR_BIN
|
|
@ -1,18 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [[ "$GOARCH" = "arm64" ]]
|
||||
then
|
||||
CC_BIN="aarch64-linux-gnu-gcc"
|
||||
elif [[ "$GOARCH" = "arm" ]]
|
||||
then
|
||||
if [[ "$GOARM" = "7" ]]
|
||||
then
|
||||
CC_BIN="arm-linux-gnueabihf-gcc"
|
||||
else
|
||||
CC_BIN="arm-linux-gnueabi-gcc"
|
||||
fi
|
||||
else
|
||||
CC_BIN=""
|
||||
fi
|
||||
|
||||
echo $CC_BIN
|
|
@ -1,18 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [[ "$GOARCH" = "arm64" ]]
|
||||
then
|
||||
CXX_BIN="aarch64-linux-gnu-g++"
|
||||
elif [[ "$GOARCH" = "arm" ]]
|
||||
then
|
||||
if [[ "$GOARM" = "7" ]]
|
||||
then
|
||||
CXX_BIN="arm-linux-gnueabihf-g++"
|
||||
else
|
||||
CXX_BIN="arm-linux-gnueabi-g++"
|
||||
fi
|
||||
else
|
||||
CXX_BIN=""
|
||||
fi
|
||||
|
||||
echo $CXX_BIN
|
|
@ -1,18 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [[ "$GOARCH" = "arm64" ]]
|
||||
then
|
||||
LD_BIN="aarch64-linux-gnu-ld"
|
||||
elif [[ "$GOARCH" = "arm" ]]
|
||||
then
|
||||
if [[ "$GOARM" = "7" ]]
|
||||
then
|
||||
LD_BIN="arm-linux-gnueabihf-ld"
|
||||
else
|
||||
LL_BIN="arm-linux-gnueabi-ld"
|
||||
fi
|
||||
else
|
||||
LD_BIN=""
|
||||
fi
|
||||
|
||||
echo $LD_BIN
|
|
@ -1,10 +1,10 @@
|
|||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
|
||||
echo "## Environment ##"
|
||||
echo "CC: $CC"
|
||||
echo "CXX: $CXX"
|
||||
echo "CGO_ENABLED: $CGO_ENABLED"
|
||||
echo "GOOS: $GOOS"
|
||||
echo "GOARCH: $GOARCH"
|
||||
echo "GOARM: $GOARM"
|
||||
echo "#################"
|
||||
echo "::group::Environment - ${TARGETARCH}${TARGETVARIANT}"
|
||||
echo "CC: ${go env CC}"
|
||||
echo "CXX: ${go env CXX}"
|
||||
echo "CGO_ENABLED: ${go env CGO_ENABLED}"
|
||||
echo "GOOS: ${go env GOOS}"
|
||||
echo "GOARCH: ${go env GOARCH}"
|
||||
echo "GOARM: ${go env GOARM}"
|
||||
echo "::endgroup::"
|
Loading…
Reference in New Issue