ci: fix release job (#1519)
* ci: remove CGO_ENABLE=0 due to blst package * ci: fix arm binary build * ci: remove arm5-7 version * ci: fix arm64 build script * ci: fix generate_change_log.sh
This commit is contained in:
parent
b6274dd2df
commit
282ef8952d
22
.github/generate_change_log.sh
vendored
22
.github/generate_change_log.sh
vendored
@ -24,26 +24,20 @@ TESTNET_ZIP_SUM="$(checksum ./testnet.zip)"
|
|||||||
LINUX_BIN_SUM="$(checksum ./linux/geth)"
|
LINUX_BIN_SUM="$(checksum ./linux/geth)"
|
||||||
MAC_BIN_SUM="$(checksum ./macos/geth)"
|
MAC_BIN_SUM="$(checksum ./macos/geth)"
|
||||||
WINDOWS_BIN_SUM="$(checksum ./windows/geth.exe)"
|
WINDOWS_BIN_SUM="$(checksum ./windows/geth.exe)"
|
||||||
ARM5_BIN_SUM="$(checksum ./arm5/geth-linux-arm-5)"
|
|
||||||
ARM6_BIN_SUM="$(checksum ./arm6/geth-linux-arm-6)"
|
|
||||||
ARM7_BIN_SUM="$(checksum ./arm7/geth-linux-arm-7)"
|
|
||||||
ARM64_BIN_SUM="$(checksum ./arm64/geth-linux-arm64)"
|
ARM64_BIN_SUM="$(checksum ./arm64/geth-linux-arm64)"
|
||||||
OUTPUT=$(cat <<-END
|
OUTPUT=$(cat <<-END
|
||||||
## Changelog\n
|
## Changelog\n
|
||||||
${CHANGE_LOG}\n
|
${CHANGE_LOG}\n
|
||||||
## Assets\n
|
## Assets\n
|
||||||
| Assets | Sha256 Checksum |\n
|
| Assets | Sha256 Checksum |
|
||||||
| :-----------: |------------|\n
|
| :-----------: |------------|
|
||||||
| mainnet.zip | ${MAINNET_ZIP_SUM} |\n
|
| mainnet.zip | ${MAINNET_ZIP_SUM} |
|
||||||
| testnet.zip | ${TESTNET_ZIP_SUM} |\n
|
| testnet.zip | ${TESTNET_ZIP_SUM} |
|
||||||
| geth_linux | ${LINUX_BIN_SUM} |\n
|
| geth_linux | ${LINUX_BIN_SUM} |
|
||||||
| geth_mac | ${MAC_BIN_SUM} |\n
|
| geth_mac | ${MAC_BIN_SUM} |
|
||||||
| geth_windows | ${WINDOWS_BIN_SUM} |\n
|
| geth_windows | ${WINDOWS_BIN_SUM} |
|
||||||
| geth_linux_arm-5 | ${ARM5_BIN_SUM} |\n
|
|
||||||
| geth_linux_arm-6 | ${ARM6_BIN_SUM} |\n
|
|
||||||
| geth_linux_arm-7 | ${ARM7_BIN_SUM} |\n
|
|
||||||
| geth_linux_arm64 | ${ARM64_BIN_SUM} |\n
|
| geth_linux_arm64 | ${ARM64_BIN_SUM} |\n
|
||||||
END
|
END
|
||||||
)
|
)
|
||||||
|
|
||||||
echo -e ${OUTPUT}
|
echo -e "${OUTPUT}"
|
62
.github/workflows/pre-release.yml
vendored
62
.github/workflows/pre-release.yml
vendored
@ -44,8 +44,17 @@ jobs:
|
|||||||
# ==============================
|
# ==============================
|
||||||
|
|
||||||
- name: Build Binary for ${{matrix.os}}
|
- name: Build Binary for ${{matrix.os}}
|
||||||
env:
|
if: matrix.os == 'ubuntu-latest'
|
||||||
CGO_ENABLED: "0"
|
run: |
|
||||||
|
go mod download
|
||||||
|
wget https://musl.cc/x86_64-linux-musl-cross.tgz
|
||||||
|
tar -xvf ./x86_64-linux-musl-cross.tgz
|
||||||
|
GIT_COMMIT=$(git rev-parse HEAD)
|
||||||
|
GIT_COMMIT_DATE=$(git log -n1 --pretty='format:%cd' --date=format:'%Y%m%d')
|
||||||
|
GOOS=linux GOARCH=amd64 CGO_ENABLED=1 CC=$(pwd)/x86_64-linux-musl-cross/bin/x86_64-linux-musl-gcc go build -ldflags "-X main.gitCommit=$GIT_COMMIT -X main.gitDate=$GIT_COMMIT_DATE -extldflags=-static" -o ./build/bin/geth -a ./cmd/geth
|
||||||
|
|
||||||
|
- name: Build Binary for ${{matrix.os}}
|
||||||
|
if: matrix.os != 'ubuntu-latest'
|
||||||
run: |
|
run: |
|
||||||
go mod download
|
go mod download
|
||||||
make geth
|
make geth
|
||||||
@ -58,7 +67,12 @@ jobs:
|
|||||||
if: matrix.os == 'ubuntu-latest'
|
if: matrix.os == 'ubuntu-latest'
|
||||||
run: |
|
run: |
|
||||||
go mod download
|
go mod download
|
||||||
make geth-linux-arm
|
wget https://musl.cc/aarch64-linux-musl-cross.tgz
|
||||||
|
tar -xvf ./aarch64-linux-musl-cross.tgz
|
||||||
|
GIT_COMMIT=$(git rev-parse HEAD)
|
||||||
|
GIT_COMMIT_DATE=$(git log -n1 --pretty='format:%cd' --date=format:'%Y%m%d')
|
||||||
|
GOOS=linux GOARCH=arm64 CGO_ENABLED=1 CC=$(pwd)/aarch64-linux-musl-cross/bin/aarch64-linux-musl-gcc go build -ldflags "-X main.gitCommit=$GIT_COMMIT -X main.gitDate=$GIT_COMMIT_DATE -extldflags=-static" -o ./build/bin/geth-linux-arm64 -a ./cmd/geth
|
||||||
|
|
||||||
# ==============================
|
# ==============================
|
||||||
# Upload artifacts
|
# Upload artifacts
|
||||||
# ==============================
|
# ==============================
|
||||||
@ -84,27 +98,6 @@ jobs:
|
|||||||
name: windows
|
name: windows
|
||||||
path: ./build/bin/geth.exe
|
path: ./build/bin/geth.exe
|
||||||
|
|
||||||
- name: Upload ARM-5 Build
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
if: matrix.os == 'ubuntu-latest'
|
|
||||||
with:
|
|
||||||
name: arm5
|
|
||||||
path: ./build/bin/geth-linux-arm-5
|
|
||||||
|
|
||||||
- name: Upload ARM-6 Build
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
if: matrix.os == 'ubuntu-latest'
|
|
||||||
with:
|
|
||||||
name: arm6
|
|
||||||
path: ./build/bin/geth-linux-arm-6
|
|
||||||
|
|
||||||
- name: Upload ARM-7 Build
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
if: matrix.os == 'ubuntu-latest'
|
|
||||||
with:
|
|
||||||
name: arm7
|
|
||||||
path: ./build/bin/geth-linux-arm-7
|
|
||||||
|
|
||||||
- name: Upload ARM-64 Build
|
- name: Upload ARM-64 Build
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
if: matrix.os == 'ubuntu-latest'
|
if: matrix.os == 'ubuntu-latest'
|
||||||
@ -145,24 +138,6 @@ jobs:
|
|||||||
name: windows
|
name: windows
|
||||||
path: ./windows
|
path: ./windows
|
||||||
|
|
||||||
- name: Download Artifacts
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: arm5
|
|
||||||
path: ./arm5
|
|
||||||
|
|
||||||
- name: Download Artifacts
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: arm6
|
|
||||||
path: ./arm6
|
|
||||||
|
|
||||||
- name: Download Artifacts
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: arm7
|
|
||||||
path: ./arm7
|
|
||||||
|
|
||||||
- name: Download Artifacts
|
- name: Download Artifacts
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
@ -204,7 +179,4 @@ jobs:
|
|||||||
./linux/geth_linux
|
./linux/geth_linux
|
||||||
./macos/geth_macos
|
./macos/geth_macos
|
||||||
./windows/geth_windows.exe
|
./windows/geth_windows.exe
|
||||||
./arm5/geth-linux-arm-5
|
|
||||||
./arm6/geth-linux-arm-6
|
|
||||||
./arm7/geth-linux-arm-7
|
|
||||||
./arm64/geth-linux-arm64
|
./arm64/geth-linux-arm64
|
||||||
|
62
.github/workflows/release.yml
vendored
62
.github/workflows/release.yml
vendored
@ -44,8 +44,17 @@ jobs:
|
|||||||
# ==============================
|
# ==============================
|
||||||
|
|
||||||
- name: Build Binary for ${{matrix.os}}
|
- name: Build Binary for ${{matrix.os}}
|
||||||
env:
|
if: matrix.os == 'ubuntu-latest'
|
||||||
CGO_ENABLED: "0"
|
run: |
|
||||||
|
go mod download
|
||||||
|
wget https://musl.cc/x86_64-linux-musl-cross.tgz
|
||||||
|
tar -xvf ./x86_64-linux-musl-cross.tgz
|
||||||
|
GIT_COMMIT=$(git rev-parse HEAD)
|
||||||
|
GIT_COMMIT_DATE=$(git log -n1 --pretty='format:%cd' --date=format:'%Y%m%d')
|
||||||
|
GOOS=linux GOARCH=amd64 CGO_ENABLED=1 CC=$(pwd)/x86_64-linux-musl-cross/bin/x86_64-linux-musl-gcc go build -ldflags "-X main.gitCommit=$GIT_COMMIT -X main.gitDate=$GIT_COMMIT_DATE -extldflags=-static" -o ./build/bin/geth -a ./cmd/geth
|
||||||
|
|
||||||
|
- name: Build Binary for ${{matrix.os}}
|
||||||
|
if: matrix.os != 'ubuntu-latest'
|
||||||
run: |
|
run: |
|
||||||
go mod download
|
go mod download
|
||||||
make geth
|
make geth
|
||||||
@ -58,7 +67,12 @@ jobs:
|
|||||||
if: matrix.os == 'ubuntu-latest'
|
if: matrix.os == 'ubuntu-latest'
|
||||||
run: |
|
run: |
|
||||||
go mod download
|
go mod download
|
||||||
make geth-linux-arm
|
wget https://musl.cc/aarch64-linux-musl-cross.tgz
|
||||||
|
tar -xvf ./aarch64-linux-musl-cross.tgz
|
||||||
|
GIT_COMMIT=$(git rev-parse HEAD)
|
||||||
|
GIT_COMMIT_DATE=$(git log -n1 --pretty='format:%cd' --date=format:'%Y%m%d')
|
||||||
|
GOOS=linux GOARCH=arm64 CGO_ENABLED=1 CC=$(pwd)/aarch64-linux-musl-cross/bin/aarch64-linux-musl-gcc go build -ldflags "-X main.gitCommit=$GIT_COMMIT -X main.gitDate=$GIT_COMMIT_DATE -extldflags=-static" -o ./build/bin/geth-linux-arm64 -a ./cmd/geth
|
||||||
|
|
||||||
# ==============================
|
# ==============================
|
||||||
# Upload artifacts
|
# Upload artifacts
|
||||||
# ==============================
|
# ==============================
|
||||||
@ -84,27 +98,6 @@ jobs:
|
|||||||
name: windows
|
name: windows
|
||||||
path: ./build/bin/geth.exe
|
path: ./build/bin/geth.exe
|
||||||
|
|
||||||
- name: Upload ARM-5 Build
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
if: matrix.os == 'ubuntu-latest'
|
|
||||||
with:
|
|
||||||
name: arm5
|
|
||||||
path: ./build/bin/geth-linux-arm-5
|
|
||||||
|
|
||||||
- name: Upload ARM-6 Build
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
if: matrix.os == 'ubuntu-latest'
|
|
||||||
with:
|
|
||||||
name: arm6
|
|
||||||
path: ./build/bin/geth-linux-arm-6
|
|
||||||
|
|
||||||
- name: Upload ARM-7 Build
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
if: matrix.os == 'ubuntu-latest'
|
|
||||||
with:
|
|
||||||
name: arm7
|
|
||||||
path: ./build/bin/geth-linux-arm-7
|
|
||||||
|
|
||||||
- name: Upload ARM-64 Build
|
- name: Upload ARM-64 Build
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
if: matrix.os == 'ubuntu-latest'
|
if: matrix.os == 'ubuntu-latest'
|
||||||
@ -145,24 +138,6 @@ jobs:
|
|||||||
name: windows
|
name: windows
|
||||||
path: ./windows
|
path: ./windows
|
||||||
|
|
||||||
- name: Download Artifacts
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: arm5
|
|
||||||
path: ./arm5
|
|
||||||
|
|
||||||
- name: Download Artifacts
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: arm6
|
|
||||||
path: ./arm6
|
|
||||||
|
|
||||||
- name: Download Artifacts
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: arm7
|
|
||||||
path: ./arm7
|
|
||||||
|
|
||||||
- name: Download Artifacts
|
- name: Download Artifacts
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
@ -211,7 +186,4 @@ jobs:
|
|||||||
./linux/geth_linux
|
./linux/geth_linux
|
||||||
./macos/geth_macos
|
./macos/geth_macos
|
||||||
./windows/geth_windows.exe
|
./windows/geth_windows.exe
|
||||||
./arm5/geth-linux-arm-5
|
|
||||||
./arm6/geth-linux-arm-6
|
|
||||||
./arm7/geth-linux-arm-7
|
|
||||||
./arm64/geth-linux-arm64
|
./arm64/geth-linux-arm64
|
||||||
|
@ -13,8 +13,6 @@ COPY go.sum /go-ethereum/
|
|||||||
RUN cd /go-ethereum && go mod download
|
RUN cd /go-ethereum && go mod download
|
||||||
|
|
||||||
ADD . /go-ethereum
|
ADD . /go-ethereum
|
||||||
ENV CGO_CFLAGS="-O -D__BLST_PORTABLE__"
|
|
||||||
ENV CGO_CFLAGS_ALLOW="-O -D__BLST_PORTABLE__"
|
|
||||||
RUN cd /go-ethereum && go run build/ci.go install ./cmd/geth
|
RUN cd /go-ethereum && go run build/ci.go install ./cmd/geth
|
||||||
|
|
||||||
# Pull Geth into a second stage deploy alpine container
|
# Pull Geth into a second stage deploy alpine container
|
||||||
@ -28,10 +26,9 @@ ENV BSC_HOME=/bsc
|
|||||||
ENV HOME=${BSC_HOME}
|
ENV HOME=${BSC_HOME}
|
||||||
ENV DATA_DIR=/data
|
ENV DATA_DIR=/data
|
||||||
|
|
||||||
ARG VERSION_GCC=11.2.1_git20220219-r2
|
|
||||||
ENV PACKAGES ca-certificates jq \
|
ENV PACKAGES ca-certificates jq \
|
||||||
bash bind-tools tini \
|
bash bind-tools tini \
|
||||||
grep curl sed gcc==${VERSION_GCC}
|
grep curl sed gcc
|
||||||
|
|
||||||
RUN apk add --no-cache $PACKAGES \
|
RUN apk add --no-cache $PACKAGES \
|
||||||
&& rm -rf /var/cache/apk/* \
|
&& rm -rf /var/cache/apk/* \
|
||||||
@ -59,4 +56,7 @@ USER ${BSC_USER_UID}:${BSC_USER_GID}
|
|||||||
# rpc ws graphql
|
# rpc ws graphql
|
||||||
EXPOSE 8545 8546 8547 30303 30303/udp
|
EXPOSE 8545 8546 8547 30303 30303/udp
|
||||||
|
|
||||||
|
# For blst runtime env
|
||||||
|
ENV CGO_CFLAGS="-O -D__BLST_PORTABLE__"
|
||||||
|
ENV CGO_CFLAGS_ALLOW="-O -D__BLST_PORTABLE__"
|
||||||
ENTRYPOINT ["/sbin/tini", "--", "./docker-entrypoint.sh"]
|
ENTRYPOINT ["/sbin/tini", "--", "./docker-entrypoint.sh"]
|
@ -29,3 +29,7 @@ ARG VERSION=""
|
|||||||
ARG BUILDNUM=""
|
ARG BUILDNUM=""
|
||||||
|
|
||||||
LABEL commit="$COMMIT" version="$VERSION" buildnum="$BUILDNUM"
|
LABEL commit="$COMMIT" version="$VERSION" buildnum="$BUILDNUM"
|
||||||
|
|
||||||
|
# For blst runtime env
|
||||||
|
ENV CGO_CFLAGS="-O -D__BLST_PORTABLE__"
|
||||||
|
ENV CGO_CFLAGS_ALLOW="-O -D__BLST_PORTABLE__"
|
||||||
|
18
Makefile
18
Makefile
@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
.PHONY: geth android ios evm all test truffle-test clean
|
.PHONY: geth android ios evm all test truffle-test clean
|
||||||
.PHONY: docker
|
.PHONY: docker
|
||||||
.PHONY: geth-linux-arm geth-linux-arm64 geth-linux-arm5 geth-linux-arm6 geth-linux-arm7
|
|
||||||
|
|
||||||
GOBIN = ./build/bin
|
GOBIN = ./build/bin
|
||||||
GO ?= latest
|
GO ?= latest
|
||||||
@ -17,23 +16,6 @@ geth:
|
|||||||
@echo "Done building."
|
@echo "Done building."
|
||||||
@echo "Run \"$(GOBIN)/geth\" to launch geth."
|
@echo "Run \"$(GOBIN)/geth\" to launch geth."
|
||||||
|
|
||||||
ldflags = -X main.gitCommit=$(GIT_COMMIT) \
|
|
||||||
-X main.gitDate=$(GIT_COMMIT_DATE)
|
|
||||||
|
|
||||||
geth-linux-arm: geth-linux-arm5 geth-linux-arm6 geth-linux-arm7 geth-linux-arm64
|
|
||||||
|
|
||||||
geth-linux-arm5:
|
|
||||||
env GO111MODULE=on GOARCH=arm GOARM=5 GOOS=linux go build -ldflags="$(ldflags)" -o build/bin/geth-linux-arm-5 ./cmd/geth
|
|
||||||
|
|
||||||
geth-linux-arm6:
|
|
||||||
env GO111MODULE=on GOARCH=arm GOARM=6 GOOS=linux go build -ldflags="$(ldflags)" -o build/bin/geth-linux-arm-6 ./cmd/geth
|
|
||||||
|
|
||||||
geth-linux-arm7:
|
|
||||||
env GO111MODULE=on GOARCH=arm GOARM=7 GOOS=linux go build -ldflags="$(ldflags)" -o build/bin/geth-linux-arm-7 ./cmd/geth
|
|
||||||
|
|
||||||
geth-linux-arm64:
|
|
||||||
env GO111MODULE=on GOARCH=arm64 GOOS=linux go build -ldflags="$(ldflags)" -o build/bin/geth-linux-arm64 ./cmd/geth
|
|
||||||
|
|
||||||
all:
|
all:
|
||||||
$(GORUN) build/ci.go install
|
$(GORUN) build/ci.go install
|
||||||
|
|
||||||
|
10
README.md
10
README.md
@ -142,6 +142,16 @@ Download latest chaindata snapshot from [here](https://github.com/bnb-chain/bsc-
|
|||||||
./geth --config ./config.toml --datadir ./node --cache 8000 --rpc.allow-unprotected-txs --txlookuplimit 0 --tries-verify-mode none
|
./geth --config ./config.toml --datadir ./node --cache 8000 --rpc.allow-unprotected-txs --txlookuplimit 0 --tries-verify-mode none
|
||||||
```
|
```
|
||||||
|
|
||||||
|
if you get such error:
|
||||||
|
```shell
|
||||||
|
Caught SIGILL in blst_cgo_init, consult <blst>/bindinds/go/README.md.
|
||||||
|
```
|
||||||
|
please try to add the following environment variables:
|
||||||
|
```shell
|
||||||
|
export CGO_CFLAGS="-O -D__BLST_PORTABLE__"
|
||||||
|
export CGO_CFLAGS_ALLOW="-O -D__BLST_PORTABLE__"
|
||||||
|
```
|
||||||
|
|
||||||
#### 5. Monitor node status
|
#### 5. Monitor node status
|
||||||
|
|
||||||
Monitor the log from **./node/bsc.log** by default. When the node has started syncing, should be able to see the following output:
|
Monitor the log from **./node/bsc.log** by default. When the node has started syncing, should be able to see the following output:
|
||||||
|
37
build/ci.go
37
build/ci.go
@ -24,19 +24,18 @@ Usage: go run build/ci.go <command> <command flags/arguments>
|
|||||||
|
|
||||||
Available commands are:
|
Available commands are:
|
||||||
|
|
||||||
install [ -arch architecture ] [ -cc compiler ] [ packages... ] -- builds packages and executables
|
install [ -arch architecture ] [ -cc compiler ] [ packages... ] -- builds packages and executables
|
||||||
test [ -coverage ] [ packages... ] -- runs the tests
|
test [ -coverage ] [ packages... ] -- runs the tests
|
||||||
lint -- runs certain pre-selected linters
|
lint -- runs certain pre-selected linters
|
||||||
archive [ -arch architecture ] [ -type zip|tar ] [ -signer key-envvar ] [ -signify key-envvar ] [ -upload dest ] -- archives build artifacts
|
archive [ -arch architecture ] [ -type zip|tar ] [ -signer key-envvar ] [ -signify key-envvar ] [ -upload dest ] -- archives build artifacts
|
||||||
importkeys -- imports signing keys from env
|
importkeys -- imports signing keys from env
|
||||||
debsrc [ -signer key-id ] [ -upload dest ] -- creates a debian source package
|
debsrc [ -signer key-id ] [ -upload dest ] -- creates a debian source package
|
||||||
nsis -- creates a Windows NSIS installer
|
nsis -- creates a Windows NSIS installer
|
||||||
aar [ -local ] [ -sign key-id ] [-deploy repo] [ -upload dest ] -- creates an Android archive
|
aar [ -local ] [ -sign key-id ] [-deploy repo] [ -upload dest ] -- creates an Android archive
|
||||||
xcode [ -local ] [ -sign key-id ] [-deploy repo] [ -upload dest ] -- creates an iOS XCode framework
|
xcode [ -local ] [ -sign key-id ] [-deploy repo] [ -upload dest ] -- creates an iOS XCode framework
|
||||||
purge [ -store blobstore ] [ -days threshold ] -- purges old archives from the blobstore
|
purge [ -store blobstore ] [ -days threshold ] -- purges old archives from the blobstore
|
||||||
|
|
||||||
For all commands, -n prevents execution of external programs (dry run mode).
|
For all commands, -n prevents execution of external programs (dry run mode).
|
||||||
|
|
||||||
*/
|
*/
|
||||||
package main
|
package main
|
||||||
|
|
||||||
@ -198,9 +197,10 @@ func main() {
|
|||||||
|
|
||||||
func doInstall(cmdline []string) {
|
func doInstall(cmdline []string) {
|
||||||
var (
|
var (
|
||||||
dlgo = flag.Bool("dlgo", false, "Download Go and build with it")
|
dlgo = flag.Bool("dlgo", false, "Download Go and build with it")
|
||||||
arch = flag.String("arch", "", "Architecture to cross build for")
|
arch = flag.String("arch", "", "Architecture to cross build for")
|
||||||
cc = flag.String("cc", "", "C compiler to cross build with")
|
cc = flag.String("cc", "", "C compiler to cross build with")
|
||||||
|
output = flag.String("o", "", "Output directory for build artifacts")
|
||||||
)
|
)
|
||||||
flag.CommandLine.Parse(cmdline)
|
flag.CommandLine.Parse(cmdline)
|
||||||
|
|
||||||
@ -213,7 +213,8 @@ func doInstall(cmdline []string) {
|
|||||||
|
|
||||||
// Configure the build.
|
// Configure the build.
|
||||||
env := build.Env()
|
env := build.Env()
|
||||||
gobuild := tc.Go("build", buildFlags(env)...)
|
buildArgs := buildFlags(env)
|
||||||
|
gobuild := tc.Go("build", buildArgs...)
|
||||||
|
|
||||||
// arm64 CI builders are memory-constrained and can't handle concurrent builds,
|
// arm64 CI builders are memory-constrained and can't handle concurrent builds,
|
||||||
// better disable it. This check isn't the best, it should probably
|
// better disable it. This check isn't the best, it should probably
|
||||||
@ -239,7 +240,11 @@ func doInstall(cmdline []string) {
|
|||||||
for _, pkg := range packages {
|
for _, pkg := range packages {
|
||||||
args := make([]string, len(gobuild.Args))
|
args := make([]string, len(gobuild.Args))
|
||||||
copy(args, gobuild.Args)
|
copy(args, gobuild.Args)
|
||||||
args = append(args, "-o", executablePath(path.Base(pkg)))
|
outputPath := executablePath(path.Base(pkg))
|
||||||
|
if output != nil && *output != "" {
|
||||||
|
outputPath = *output
|
||||||
|
}
|
||||||
|
args = append(args, "-o", outputPath)
|
||||||
args = append(args, pkg)
|
args = append(args, pkg)
|
||||||
build.MustRun(&exec.Cmd{Path: gobuild.Path, Args: args, Env: gobuild.Env})
|
build.MustRun(&exec.Cmd{Path: gobuild.Path, Args: args, Env: gobuild.Env})
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user