mirror of https://github.com/statping/statping
xgo builds
parent
873b86e5dd
commit
2c4ccfd19f
|
@ -204,10 +204,7 @@ jobs:
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- name: Download Go mods
|
- name: Download Go mods
|
||||||
if: steps.golangcache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
run: |
|
||||||
go mod download
|
|
||||||
go mod verify
|
|
||||||
make test-deps
|
make test-deps
|
||||||
|
|
||||||
- name: Download Compiled Frontend (rice-box.go)
|
- name: Download Compiled Frontend (rice-box.go)
|
||||||
|
@ -216,11 +213,17 @@ jobs:
|
||||||
name: static-rice-box
|
name: static-rice-box
|
||||||
path: ./source
|
path: ./source
|
||||||
|
|
||||||
- name: Build Binaries
|
- name: Build with xgo
|
||||||
env:
|
uses: crazy-max/ghaction-xgo@v1
|
||||||
VERSION: ${{ env.VERSION }}
|
with:
|
||||||
COMMIT: $GITHUB_SHA
|
xgo_version: latest
|
||||||
run: make build-mac
|
go_version: 1.14.2
|
||||||
|
dest: build
|
||||||
|
prefix: statping
|
||||||
|
targets: darwin/386,darwin/amd64
|
||||||
|
v: true
|
||||||
|
x: false
|
||||||
|
ldflags: -s -w -X main.VERSION=$VERSION
|
||||||
|
|
||||||
- name: Upload MacOSX Builds
|
- name: Upload MacOSX Builds
|
||||||
uses: actions/upload-artifact@v1
|
uses: actions/upload-artifact@v1
|
||||||
|
@ -237,11 +240,6 @@ jobs:
|
||||||
go-version: '1.14.2'
|
go-version: '1.14.2'
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Install Libraries
|
|
||||||
run: |
|
|
||||||
sudo apt update
|
|
||||||
sudo apt install libc-dev gcc-multilib build-essential musl-dev gcc g++ -y
|
|
||||||
|
|
||||||
- name: Setting ENV's
|
- name: Setting ENV's
|
||||||
run: |
|
run: |
|
||||||
echo "::add-path::$(go env GOPATH)/bin"
|
echo "::add-path::$(go env GOPATH)/bin"
|
||||||
|
@ -250,10 +248,7 @@ jobs:
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- name: Download Go mods
|
- name: Download Go mods
|
||||||
if: steps.golangcache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
run: |
|
||||||
go mod download
|
|
||||||
go mod verify
|
|
||||||
make test-deps
|
make test-deps
|
||||||
|
|
||||||
- name: Download Compiled Frontend (rice-box.go)
|
- name: Download Compiled Frontend (rice-box.go)
|
||||||
|
@ -262,13 +257,17 @@ jobs:
|
||||||
name: static-rice-box
|
name: static-rice-box
|
||||||
path: ./source
|
path: ./source
|
||||||
|
|
||||||
- name: Build Binaries
|
- name: Build with xgo
|
||||||
env:
|
uses: crazy-max/ghaction-xgo@v1
|
||||||
VERSION: ${{ env.VERSION }}
|
with:
|
||||||
COMMIT: $GITHUB_SHA
|
xgo_version: latest
|
||||||
run: |
|
go_version: 1.14.2
|
||||||
go env
|
dest: build
|
||||||
make build-linux
|
prefix: statping
|
||||||
|
targets: linux/386,linux/amd64,linux/arm-6,linux/arm-7,linux/arm,linux/arm64
|
||||||
|
v: true
|
||||||
|
x: false
|
||||||
|
ldflags: -s -w -extldflags -static -X main.VERSION=$VERSION
|
||||||
|
|
||||||
- name: Upload Linux Builds
|
- name: Upload Linux Builds
|
||||||
uses: actions/upload-artifact@v1
|
uses: actions/upload-artifact@v1
|
||||||
|
@ -293,10 +292,7 @@ jobs:
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- name: Download Go mods
|
- name: Download Go mods
|
||||||
if: steps.golangcache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
run: |
|
||||||
go mod download
|
|
||||||
go mod verify
|
|
||||||
make test-deps
|
make test-deps
|
||||||
|
|
||||||
- name: Download Compiled Frontend (rice-box.go)
|
- name: Download Compiled Frontend (rice-box.go)
|
||||||
|
@ -305,11 +301,17 @@ jobs:
|
||||||
name: static-rice-box
|
name: static-rice-box
|
||||||
path: ./source
|
path: ./source
|
||||||
|
|
||||||
- name: Build Binaries
|
- name: Build with xgo
|
||||||
env:
|
uses: crazy-max/ghaction-xgo@v1
|
||||||
VERSION: ${{ env.VERSION }}
|
with:
|
||||||
COMMIT: $GITHUB_SHA
|
xgo_version: latest
|
||||||
run: make build-win
|
go_version: 1.14.2
|
||||||
|
dest: build
|
||||||
|
prefix: statping
|
||||||
|
targets: windows/386,windows/amd64
|
||||||
|
v: true
|
||||||
|
x: false
|
||||||
|
ldflags: -s -w -extldflags -static -X main.VERSION=$VERSION
|
||||||
|
|
||||||
- name: Upload Windows Builds
|
- name: Upload Windows Builds
|
||||||
uses: actions/upload-artifact@v1
|
uses: actions/upload-artifact@v1
|
||||||
|
@ -348,6 +350,14 @@ jobs:
|
||||||
name: windows-builds
|
name: windows-builds
|
||||||
path: ./windows
|
path: ./windows
|
||||||
|
|
||||||
|
- name: Compress Files
|
||||||
|
run: |
|
||||||
|
mkdir build
|
||||||
|
mv windows/*.* ./build/
|
||||||
|
mv linux/*.* ./build/
|
||||||
|
mv darwin/*.* ./build/
|
||||||
|
make compress
|
||||||
|
|
||||||
- name: Upload Linux Release
|
- name: Upload Linux Release
|
||||||
id: upload-linux-asset
|
id: upload-linux-asset
|
||||||
uses: softprops/action-gh-release@v1
|
uses: softprops/action-gh-release@v1
|
||||||
|
@ -359,17 +369,12 @@ jobs:
|
||||||
draft: false
|
draft: false
|
||||||
prerelease: false
|
prerelease: false
|
||||||
files: |
|
files: |
|
||||||
linux/statping-freebsd-386.tar.gz
|
build/statping-linux-386.tar.gz
|
||||||
linux/statping-freebsd-amd64.tar.gz
|
build/statping-linux-amd64.tar.gz
|
||||||
linux/statping-freebsd-arm.tar.gz
|
build/statping-linux-arm.tar.gz
|
||||||
linux/statping-linux-386.tar.gz
|
build/statping-linux-arm64.tar.gz
|
||||||
linux/statping-linux-amd64.tar.gz
|
build/statping-linux-arm-7.tar.gz
|
||||||
linux/statping-linux-arm.tar.gz
|
build/statping-linux-arm-6.tar.gz
|
||||||
linux/statping-linux-arm64.tar.gz
|
|
||||||
linux/statping-openbsd-386.tar.gz
|
|
||||||
linux/statping-openbsd-amd64.tar.gz
|
|
||||||
linux/statping-openbsd-arm.tar.gz
|
|
||||||
linux/statping-openbsd-arm64.tar.gz
|
|
||||||
|
|
||||||
- name: Upload MaxOSX Release
|
- name: Upload MaxOSX Release
|
||||||
id: upload-darwin-asset
|
id: upload-darwin-asset
|
||||||
|
@ -382,8 +387,8 @@ jobs:
|
||||||
draft: false
|
draft: false
|
||||||
prerelease: false
|
prerelease: false
|
||||||
files: |
|
files: |
|
||||||
darwin/statping-darwin-386.tar.gz
|
build/statping-darwin-386.tar.gz
|
||||||
darwin/statping-darwin-amd64.tar.gz
|
build/statping-darwin-amd64.tar.gz
|
||||||
|
|
||||||
- name: Upload Windows Release
|
- name: Upload Windows Release
|
||||||
id: upload-windows-asset
|
id: upload-windows-asset
|
||||||
|
@ -396,9 +401,8 @@ jobs:
|
||||||
draft: false
|
draft: false
|
||||||
prerelease: false
|
prerelease: false
|
||||||
files: |
|
files: |
|
||||||
windows/statping-windows-386.zip
|
build/statping-windows-386.zip
|
||||||
windows/statping-windows-amd64.zip
|
build/statping-windows-amd64.zip
|
||||||
windows/statping-windows-arm.zip
|
|
||||||
|
|
||||||
docker-release:
|
docker-release:
|
||||||
needs: upload-release
|
needs: upload-release
|
||||||
|
|
54
Makefile
54
Makefile
|
@ -11,9 +11,8 @@ TRAVIS_BUILD_CMD='{ "request": { "branch": "master", "message": "Compile master
|
||||||
TEST_DIR=$(GOPATH)/src/github.com/statping/statping
|
TEST_DIR=$(GOPATH)/src/github.com/statping/statping
|
||||||
PATH:=/usr/local/bin:$(GOPATH)/bin:$(PATH)
|
PATH:=/usr/local/bin:$(GOPATH)/bin:$(PATH)
|
||||||
OS = freebsd linux openbsd
|
OS = freebsd linux openbsd
|
||||||
WIN_ARCHS = 386 amd64 arm arm64
|
|
||||||
LINUX_ARCHS = 386 amd64 arm-7 arm-6 arm64 arm
|
LINUX_ARCHS = 386 amd64 arm-7 arm-6 arm64 arm
|
||||||
OSX_ARCHS = 386 amd64
|
BASIC_ARCHS = 386 amd64
|
||||||
|
|
||||||
all: clean yarn-install compile docker-base docker-vue build-all
|
all: clean yarn-install compile docker-base docker-vue build-all
|
||||||
|
|
||||||
|
@ -58,6 +57,7 @@ test-deps:
|
||||||
go get golang.org/x/tools/cmd/cover
|
go get golang.org/x/tools/cmd/cover
|
||||||
go get github.com/mattn/goveralls
|
go get github.com/mattn/goveralls
|
||||||
go get github.com/GeertJohan/go.rice/rice
|
go get github.com/GeertJohan/go.rice/rice
|
||||||
|
go get github.com/crazy-max/xgo
|
||||||
|
|
||||||
deps:
|
deps:
|
||||||
go get -d -v -t ./...
|
go get -d -v -t ./...
|
||||||
|
@ -153,38 +153,38 @@ install-local: build
|
||||||
generate:
|
generate:
|
||||||
cd source && go generate
|
cd source && go generate
|
||||||
|
|
||||||
build-linux:
|
compress:
|
||||||
xgo -go $(GOVERSION) --dest=build -ldflags "-X main.VERSION=${VERSION}" --targets=linux/amd64,linux/386,linux/arm-7,linux/arm-6,linux/arm64,linux/arm -out statping ./cmd
|
mkdir releases || true;
|
||||||
@for arch in $(LINUX_ARCHS);\
|
@for arch in $(LINUX_ARCHS);\
|
||||||
do \
|
do \
|
||||||
echo "Releasing v$$VERSION for linux-$$arch"; \
|
echo "Compressing v$$VERSION for linux-$$arch"; \
|
||||||
mkdir -p build/statping-linux-$$arch/; \
|
mkdir -p build/statping-linux-$$arch/; \
|
||||||
chmod +x build/statping-linux-$$arch; \
|
chmod +x build/statping-linux-$$arch && mv build/statping-linux-$$arch build/statping-linux-$$arch/statping; \
|
||||||
mv build/statping-linux-$$arch build/statping-linux-$$arch/statping; \
|
tar -czf releases/statping-linux-$$arch.tar.gz -C build/statping-linux-$$arch statping; \
|
||||||
tar -czf build/statping-linux-$$arch.tar.gz -C build/statping-linux-$$arch statping; \
|
|
||||||
done
|
done
|
||||||
|
@for arch in $(BASIC_ARCHS);\
|
||||||
|
do \
|
||||||
|
echo "Compressing v$$VERSION for darwin-$$arch"; \
|
||||||
|
mkdir -p build/statping-darwin-$$arch/; \
|
||||||
|
chmod +x build/statping-darwin-10.6-$$arch && mv build/statping-darwin-10.6-$$arch build/statping-darwin-$$arch/statping; \
|
||||||
|
tar -czf releases/statping-darwin-$$arch.tar.gz -C build/statping-darwin-$$arch statping; \
|
||||||
|
done
|
||||||
|
@for arch in $(BASIC_ARCHS);\
|
||||||
|
do \
|
||||||
|
echo "Compressing v$$VERSION for windows-$$arch"; \
|
||||||
|
mkdir -p build/statping-windows-$$arch/; \
|
||||||
|
chmod +x build/statping-windows-6.0-$$arch.exe && mv build/statping-windows-6.0-$$arch.exe build/statping-windows-$$arch/statping.exe; \
|
||||||
|
zip -j releases/statping-windows-$$arch.zip build/statping-windows-$$arch/statping.exe; \
|
||||||
|
done
|
||||||
|
|
||||||
|
build-linux:
|
||||||
|
xgo -go $(GOVERSION) --dest=build -ldflags "-s -w -extldflags -static -X main.VERSION=${VERSION}" --targets=linux/amd64,linux/386,linux/arm-7,linux/arm-6,linux/arm64,linux/arm -out statping ./cmd
|
||||||
|
|
||||||
build-mac:
|
build-mac:
|
||||||
xgo -go $(GOVERSION) --dest=build -ldflags "-X main.VERSION=${VERSION}" --targets=darwin/amd64,darwin/386 -out statping ./cmd
|
xgo -go $(GOVERSION) --dest=build -ldflags "-s -w -X main.VERSION=${VERSION}" --targets=darwin/amd64,darwin/386 -out statping ./cmd
|
||||||
@for arch in $(OSX_ARCHS);\
|
|
||||||
do \
|
|
||||||
echo "Releasing v$$VERSION for darwin-$$arch"; \
|
|
||||||
mkdir -p build/statping-darwin-$$arch/; \
|
|
||||||
chmod +x build/statping-darwin-10.6-$$arch; \
|
|
||||||
mv build/statping-darwin-10.6-$$arch build/statping-darwin-$$arch/statping; \
|
|
||||||
tar -czf build/statping-darwin-$$arch.tar.gz -C build/statping-darwin-$$arch statping; \
|
|
||||||
done
|
|
||||||
|
|
||||||
build-win:
|
build-win:
|
||||||
xgo -go $(GOVERSION) --dest=build -ldflags "-X main.VERSION=${VERSION}" --targets=windows-6.0/amd64,windows-6.0/386,windows-6.0/arm,windows-6.0/arm64 -out statping ./cmd
|
xgo -go $(GOVERSION) --dest=build -ldflags "-s -w -extldflags -static -X main.VERSION=${VERSION}" --targets=windows-6.0/amd64,windows-6.0/386 -out statping ./cmd
|
||||||
@for arch in $(WIN_ARCHS);\
|
|
||||||
do \
|
|
||||||
echo "Releasing v$$VERSION for windows-6.0-$$arch"; \
|
|
||||||
mkdir -p build/statping-windows-6.0-$$arch/; \
|
|
||||||
chmod +x build/statping-windows-6.0-$$arch; \
|
|
||||||
mv build/statping-windows-6.0-$$arch build/statping-windows-$$arch/statping; \
|
|
||||||
tar -czf build/statping-windows-$$arch.tar.gz -C build/statping-windows-$$arch statping; \
|
|
||||||
done
|
|
||||||
|
|
||||||
# remove files for a clean compile/build
|
# remove files for a clean compile/build
|
||||||
clean:
|
clean:
|
||||||
|
@ -225,7 +225,7 @@ print_details:
|
||||||
@echo \==== Monitoring and IDE ====
|
@echo \==== Monitoring and IDE ====
|
||||||
@echo \Grafana: http://localhost:3000 \(username: admin, password: admin\)
|
@echo \Grafana: http://localhost:3000 \(username: admin, password: admin\)
|
||||||
|
|
||||||
build-all: clean compile build-linux build-mac build-win
|
build-all: clean compile build-linux build-mac build-win compress
|
||||||
|
|
||||||
coverage: test-deps
|
coverage: test-deps
|
||||||
$(GOPATH)/bin/goveralls -coverprofile=coverage.out -service=travis -repotoken $(COVERALLS)
|
$(GOPATH)/bin/goveralls -coverprofile=coverage.out -service=travis -repotoken $(COVERALLS)
|
||||||
|
|
Loading…
Reference in New Issue