mirror of https://github.com/statping/statping
include github commit in version CLI
parent
0164472be1
commit
287ed544a4
|
@ -135,6 +135,7 @@ jobs:
|
||||||
gotestsum --no-summary=skipped --format dots -- -covermode=count -coverprofile=coverage.out -p=1 ./...
|
gotestsum --no-summary=skipped --format dots -- -covermode=count -coverprofile=coverage.out -p=1 ./...
|
||||||
env:
|
env:
|
||||||
VERSION: ${{ env.VERSION }}
|
VERSION: ${{ env.VERSION }}
|
||||||
|
COMMIT: ${{ github.sha }}
|
||||||
DB_CONN: sqlite3
|
DB_CONN: sqlite3
|
||||||
STATPING_DIR: ${{ github.workspace }}
|
STATPING_DIR: ${{ github.workspace }}
|
||||||
API_SECRET: demopassword123
|
API_SECRET: demopassword123
|
||||||
|
@ -308,6 +309,7 @@ jobs:
|
||||||
- name: Install Statping
|
- name: Install Statping
|
||||||
env:
|
env:
|
||||||
VERSION: ${{ env.VERSION }}
|
VERSION: ${{ env.VERSION }}
|
||||||
|
COMMIT: ${{ github.sha }}
|
||||||
run: |
|
run: |
|
||||||
make build
|
make build
|
||||||
chmod +x statping
|
chmod +x statping
|
||||||
|
@ -380,7 +382,7 @@ jobs:
|
||||||
- name: Build Binaries
|
- name: Build Binaries
|
||||||
env:
|
env:
|
||||||
VERSION: ${{ env.VERSION }}
|
VERSION: ${{ env.VERSION }}
|
||||||
COMMIT: $GITHUB_SHA
|
COMMIT: ${{ github.sha }}
|
||||||
MJML_APP: ${{ secrets.MJML_APP }}
|
MJML_APP: ${{ secrets.MJML_APP }}
|
||||||
MJML_PRIVATE: ${{ secrets.MJML_PRIVATE }}
|
MJML_PRIVATE: ${{ secrets.MJML_PRIVATE }}
|
||||||
run: make build-folders build-linux build-linux-arm build-darwin build-win compress-folders
|
run: make build-folders build-linux build-linux-arm build-darwin build-win compress-folders
|
||||||
|
@ -415,7 +417,13 @@ jobs:
|
||||||
buildx-docker-master
|
buildx-docker-master
|
||||||
|
|
||||||
- name: Docker Build :base
|
- name: Docker Build :base
|
||||||
|
env:
|
||||||
|
VERSION: ${{ env.VERSION }}
|
||||||
|
COMMIT: ${{ github.sha }}
|
||||||
run: make buildx-base
|
run: make buildx-base
|
||||||
|
|
||||||
- name: Docker Build :dev
|
- name: Docker Build :dev
|
||||||
|
env:
|
||||||
|
VERSION: ${{ env.VERSION }}
|
||||||
|
COMMIT: ${{ github.sha }}
|
||||||
run: make buildx-dev
|
run: make buildx-dev
|
||||||
|
|
|
@ -464,9 +464,15 @@ jobs:
|
||||||
buildx-docker
|
buildx-docker
|
||||||
|
|
||||||
- name: Docker Build :base
|
- name: Docker Build :base
|
||||||
|
env:
|
||||||
|
VERSION: ${{ env.VERSION }}
|
||||||
|
COMMIT: ${{ github.sha }}
|
||||||
run: make buildx-base
|
run: make buildx-base
|
||||||
|
|
||||||
- name: Docker Build :lastest
|
- name: Docker Build :lastest
|
||||||
|
env:
|
||||||
|
VERSION: ${{ env.VERSION }}
|
||||||
|
COMMIT: ${{ github.sha }}
|
||||||
run: make buildx-latest
|
run: make buildx-latest
|
||||||
|
|
||||||
sentry-release:
|
sentry-release:
|
||||||
|
|
|
@ -13,6 +13,7 @@ RUN yarn build && yarn cache clean
|
||||||
FROM golang:1.14-alpine AS backend
|
FROM golang:1.14-alpine AS backend
|
||||||
LABEL maintainer="Hunter Long (https://github.com/hunterlong)"
|
LABEL maintainer="Hunter Long (https://github.com/hunterlong)"
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
|
ARG COMMIT
|
||||||
ARG BUILDPLATFORM
|
ARG BUILDPLATFORM
|
||||||
ARG TARGETARCH
|
ARG TARGETARCH
|
||||||
RUN apk add --update --no-cache libstdc++ gcc g++ make git autoconf \
|
RUN apk add --update --no-cache libstdc++ gcc g++ make git autoconf \
|
||||||
|
@ -37,7 +38,7 @@ RUN go get github.com/stretchr/testify/assert && \
|
||||||
COPY . .
|
COPY . .
|
||||||
COPY --from=frontend /statping/dist/ ./source/dist/
|
COPY --from=frontend /statping/dist/ ./source/dist/
|
||||||
RUN make clean frontend-copy generate embed
|
RUN make clean frontend-copy generate embed
|
||||||
RUN GOOS=linux GOARCH=$TARGETARCH go build -a -ldflags "-s -w -extldflags -static -X main.VERSION=${VERSION}" -o statping --tags "netgo linux" ./cmd
|
RUN go build -a -ldflags "-s -w -extldflags -static -X main.VERSION=${VERSION} -X main.COMMIT=${COMMIT}" -o statping --tags "netgo linux" ./cmd
|
||||||
RUN chmod a+x statping && mv statping /go/bin/statping
|
RUN chmod a+x statping && mv statping /go/bin/statping
|
||||||
# /go/bin/statping - statping binary
|
# /go/bin/statping - statping binary
|
||||||
# /root/sassc/bin/sassc - sass binary
|
# /root/sassc/bin/sassc - sass binary
|
||||||
|
|
15
Makefile
15
Makefile
|
@ -1,11 +1,12 @@
|
||||||
VERSION=$(shell cat version.txt)
|
VERSION=$(shell cat version.txt)
|
||||||
|
COMMIT=$(shell git rev-parse HEAD)
|
||||||
SIGN_KEY=B76D61FAA6DB759466E83D9964B9C6AAE2D55278
|
SIGN_KEY=B76D61FAA6DB759466E83D9964B9C6AAE2D55278
|
||||||
BINARY_NAME=statping
|
BINARY_NAME=statping
|
||||||
GOBUILD=go build -a
|
GOBUILD=go build -a
|
||||||
GOVERSION=1.14.0
|
GOVERSION=1.14.0
|
||||||
NODE_VERSION=12.18.2
|
NODE_VERSION=12.18.2
|
||||||
XGO=xgo -go $(GOVERSION) --dest=build
|
XGO=xgo -go $(GOVERSION) --dest=build
|
||||||
BUILDVERSION=-ldflags "-X main.VERSION=${VERSION}"
|
BUILDVERSION=-ldflags "-X main.VERSION=${VERSION} -X main.COMMIT=${COMMIT}"
|
||||||
TRVIS_SECRET=O3/2KTOV8krv+yZ1EB/7D1RQRe6NdpFUEJNJkMS/ollYqmz3x2mCO7yIgIJKCKguLXZxjM6CxJcjlCrvUwibL+8BBp7xJe4XFIOrjkPvbbVPry4HkFZCf2GfcUK6o4AByQ+RYqsW2F17Fp9KLQ1rL3OT3eLTwCAGKx3tlY8y+an43zkmo5dN64V6sawx26fh6XTfww590ey+ltgQTjf8UPNup2wZmGvMo9Hwvh/bYR/47bR6PlBh6vhlKWyotKf2Fz1Bevbu0zc35pee5YlsrHR+oSF+/nNd/dOij34BhtqQikUR+zQVy9yty8SlmneVwD3yOENvlF+8roeKIXb6P6eZnSMHvelhWpAFTwDXq2N3d/FIgrQtLxsAFTI3nTHvZgs6OoTd6dA0wkhuIGLxaL3FOeztCdxP5J/CQ9GUcTvifh5ArGGwYxRxQU6rTgtebJcNtXFISP9CEUR6rwRtb6ax7h6f1SbjUGAdxt+r2LbEVEk4ZlwHvdJ2DtzJHT5DQtLrqq/CTUgJ8SJFMkrJMp/pPznKhzN4qvd8oQJXygSXX/gz92MvoX0xgpNeLsUdAn+PL9KketfR+QYosBz04d8k05E+aTqGaU7FUCHPTLwlOFvLD8Gbv0zsC/PWgSLXTBlcqLEz5PHwPVHTcVzspKj/IyYimXpCSbvu1YOIjyc=
|
TRVIS_SECRET=O3/2KTOV8krv+yZ1EB/7D1RQRe6NdpFUEJNJkMS/ollYqmz3x2mCO7yIgIJKCKguLXZxjM6CxJcjlCrvUwibL+8BBp7xJe4XFIOrjkPvbbVPry4HkFZCf2GfcUK6o4AByQ+RYqsW2F17Fp9KLQ1rL3OT3eLTwCAGKx3tlY8y+an43zkmo5dN64V6sawx26fh6XTfww590ey+ltgQTjf8UPNup2wZmGvMo9Hwvh/bYR/47bR6PlBh6vhlKWyotKf2Fz1Bevbu0zc35pee5YlsrHR+oSF+/nNd/dOij34BhtqQikUR+zQVy9yty8SlmneVwD3yOENvlF+8roeKIXb6P6eZnSMHvelhWpAFTwDXq2N3d/FIgrQtLxsAFTI3nTHvZgs6OoTd6dA0wkhuIGLxaL3FOeztCdxP5J/CQ9GUcTvifh5ArGGwYxRxQU6rTgtebJcNtXFISP9CEUR6rwRtb6ax7h6f1SbjUGAdxt+r2LbEVEk4ZlwHvdJ2DtzJHT5DQtLrqq/CTUgJ8SJFMkrJMp/pPznKhzN4qvd8oQJXygSXX/gz92MvoX0xgpNeLsUdAn+PL9KketfR+QYosBz04d8k05E+aTqGaU7FUCHPTLwlOFvLD8Gbv0zsC/PWgSLXTBlcqLEz5PHwPVHTcVzspKj/IyYimXpCSbvu1YOIjyc=
|
||||||
PUBLISH_BODY='{ "request": { "branch": "master", "message": "Homebrew update version v${VERSION}", "config": { "env": { "VERSION": "${VERSION}", "COMMIT": "$(TRAVIS_COMMIT)" } } } }'
|
PUBLISH_BODY='{ "request": { "branch": "master", "message": "Homebrew update version v${VERSION}", "config": { "env": { "VERSION": "${VERSION}", "COMMIT": "$(TRAVIS_COMMIT)" } } } }'
|
||||||
TRAVIS_BUILD_CMD='{ "request": { "branch": "master", "message": "Compile master for Statping v${VERSION}", "config": { "merge_mode": "replace", "language": "go", "go": 1.14, "install": true, "sudo": "required", "services": ["docker"], "env": { "secure": "${TRVIS_SECRET}" }, "before_deploy": ["git config --local user.name \"hunterlong\"", "git config --local user.email \"info@socialeck.com\"", "git tag v$(VERSION) --force"], "deploy": [{ "provider": "releases", "api_key": "$$GITHUB_TOKEN", "file_glob": true, "file": "build/*", "skip_cleanup": true, "on": { "branch": "master" } }], "before_script": ["rm -rf ~/.nvm && git clone https://github.com/creationix/nvm.git ~/.nvm && (cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`) && source ~/.nvm/nvm.sh && nvm install stable", "nvm install 10.17.0", "nvm use 10.17.0 --default", "npm install -g sass yarn cross-env", "pip install --user awscli"], "script": ["make release"], "after_success": [], "after_deploy": ["make post-release"] } } }'
|
TRAVIS_BUILD_CMD='{ "request": { "branch": "master", "message": "Compile master for Statping v${VERSION}", "config": { "merge_mode": "replace", "language": "go", "go": 1.14, "install": true, "sudo": "required", "services": ["docker"], "env": { "secure": "${TRVIS_SECRET}" }, "before_deploy": ["git config --local user.name \"hunterlong\"", "git config --local user.email \"info@socialeck.com\"", "git tag v$(VERSION) --force"], "deploy": [{ "provider": "releases", "api_key": "$$GITHUB_TOKEN", "file_glob": true, "file": "build/*", "skip_cleanup": true, "on": { "branch": "master" } }], "before_script": ["rm -rf ~/.nvm && git clone https://github.com/creationix/nvm.git ~/.nvm && (cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`) && source ~/.nvm/nvm.sh && nvm install stable", "nvm install 10.17.0", "nvm use 10.17.0 --default", "npm install -g sass yarn cross-env", "pip install --user awscli"], "script": ["make release"], "after_success": [], "after_deploy": ["make post-release"] } } }'
|
||||||
|
@ -17,17 +18,17 @@ ARCHS = 386 arm amd64 arm64
|
||||||
all: build-deps compile install test build
|
all: build-deps compile install test build
|
||||||
|
|
||||||
test: clean compile
|
test: clean compile
|
||||||
go test -v -p=1 -ldflags="-X main.VERSION=${VERSION}" -coverprofile=coverage.out ./...
|
go test -v -p=1 -ldflags="-X main.VERSION=${VERSION} -X main.COMMIT=${COMMIT}" -coverprofile=coverage.out ./...
|
||||||
|
|
||||||
build: clean
|
build: clean
|
||||||
go build -a -ldflags "-s -w -extldflags -static -X main.VERSION=${VERSION}" -o statping --tags "netgo linux" ./cmd
|
go build -a -ldflags "-s -w -extldflags -static -X main.VERSION=${VERSION} -X main.COMMIT=${COMMIT}" -o statping --tags "netgo linux" ./cmd
|
||||||
|
|
||||||
go-build: clean
|
go-build: clean
|
||||||
rm -rf source/dist
|
rm -rf source/dist
|
||||||
rm -rf source/rice-box.go
|
rm -rf source/rice-box.go
|
||||||
wget https://assets.statping.com/source.tar.gz
|
wget https://assets.statping.com/source.tar.gz
|
||||||
tar -xvf source.tar.gz
|
tar -xvf source.tar.gz
|
||||||
go build -a -ldflags "-s -w -extldflags -static -X main.VERSION=${VERSION}" -o statping --tags "netgo" ./cmd
|
go build -a -ldflags "-s -w -extldflags -static -X main.VERSION=${VERSION} -X main.COMMIT=${COMMIT}" -o statping --tags "netgo" ./cmd
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
go fmt ./...
|
go fmt ./...
|
||||||
|
@ -381,19 +382,19 @@ certs:
|
||||||
buildx-latest: multiarch
|
buildx-latest: multiarch
|
||||||
docker buildx create --name statping-latest
|
docker buildx create --name statping-latest
|
||||||
docker buildx inspect --builder statping-latest --bootstrap
|
docker buildx inspect --builder statping-latest --bootstrap
|
||||||
docker buildx build --builder statping-latest --cache-from "type=local,src=/tmp/.buildx-cache" --cache-to "type=local,dest=/tmp/.buildx-cache" --pull --push --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 -f Dockerfile -t statping/statping:latest -t statping/statping:v${VERSION} --build-arg=VERSION=${VERSION} .
|
docker buildx build --builder statping-latest --cache-from "type=local,src=/tmp/.buildx-cache" --cache-to "type=local,dest=/tmp/.buildx-cache" --pull --push --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 -f Dockerfile -t statping/statping:latest -t statping/statping:v${VERSION} --build-arg=VERSION=${VERSION} --build-arg=COMMIT=${COMMIT} .
|
||||||
docker buildx rm statping-latest
|
docker buildx rm statping-latest
|
||||||
|
|
||||||
buildx-dev: multiarch
|
buildx-dev: multiarch
|
||||||
docker buildx create --name statping-dev
|
docker buildx create --name statping-dev
|
||||||
docker buildx inspect --builder statping-dev --bootstrap
|
docker buildx inspect --builder statping-dev --bootstrap
|
||||||
docker buildx build --builder statping-dev --cache-from "type=local,src=/tmp/.buildx-cache" --cache-to "type=local,dest=/tmp/.buildx-cache" --pull --push --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 -f Dockerfile -t statping/statping:dev --build-arg=VERSION=${VERSION} .
|
docker buildx build --builder statping-dev --cache-from "type=local,src=/tmp/.buildx-cache" --cache-to "type=local,dest=/tmp/.buildx-cache" --pull --push --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 -f Dockerfile -t statping/statping:dev --build-arg=VERSION=${VERSION} --build-arg=COMMIT=${COMMIT} .
|
||||||
docker buildx rm statping-dev
|
docker buildx rm statping-dev
|
||||||
|
|
||||||
buildx-base: multiarch
|
buildx-base: multiarch
|
||||||
docker buildx create --name statping-base
|
docker buildx create --name statping-base
|
||||||
docker buildx inspect --builder statping-base --bootstrap
|
docker buildx inspect --builder statping-base --bootstrap
|
||||||
docker buildx build --builder statping-base --cache-from "type=local,src=/tmp/.buildx-cache" --cache-to "type=local,dest=/tmp/.buildx-cache" --pull --push --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 -f Dockerfile.base -t statping/statping:base --build-arg=VERSION=${VERSION} .
|
docker buildx build --builder statping-base --cache-from "type=local,src=/tmp/.buildx-cache" --cache-to "type=local,dest=/tmp/.buildx-cache" --pull --push --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 -f Dockerfile.base -t statping/statping:base --build-arg=VERSION=${VERSION} --build-arg=COMMIT=${COMMIT} .
|
||||||
docker buildx rm statping-base
|
docker buildx rm statping-base
|
||||||
|
|
||||||
multiarch:
|
multiarch:
|
||||||
|
|
Loading…
Reference in New Issue