mirror of https://github.com/statping/statping
ping regex for windows, gh actions
parent
823cc4cf5d
commit
2037359fad
|
@ -0,0 +1,29 @@
|
|||
name: Deploy Master Release
|
||||
on: deployment
|
||||
|
||||
jobs:
|
||||
docker-release:
|
||||
needs: upload-release
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Statping Repo
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setting ENV's
|
||||
run: echo ::set-env name=VERSION::$(cat version.txt)
|
||||
shell: bash
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: crazy-max/ghaction-docker-buildx@v3
|
||||
|
||||
- name: Docker Login
|
||||
env:
|
||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
||||
run: echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin
|
||||
|
||||
- name: Docker Buildx (push)
|
||||
run: |
|
||||
docker buildx create --use
|
||||
docker buildx build --tag=statping/statping,statping/statping:v${VERSION} --build-arg=VERSION=${VERSION} --platform=linux/amd64,linux/386,linux/arm64,linux/arm/v7,darwin/amd64 --output type=image,name=docker.io/statping/statping,push=true .
|
||||
|
|
@ -406,31 +406,6 @@ jobs:
|
|||
builds/statping-windows-amd64.zip
|
||||
builds/statping-windows-arm.zip
|
||||
|
||||
docker-release:
|
||||
needs: upload-release
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Statping Repo
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setting ENV's
|
||||
run: echo ::set-env name=VERSION::$(cat version.txt)
|
||||
shell: bash
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: crazy-max/ghaction-docker-buildx@v3
|
||||
|
||||
- name: Docker Login
|
||||
env:
|
||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
||||
run: echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin
|
||||
|
||||
- name: Docker Buildx (push)
|
||||
run: |
|
||||
docker buildx create --use
|
||||
docker buildx build --tag=statping/statping,statping/statping:v${VERSION} --build-arg=VERSION=${VERSION} --platform=linux/amd64,linux/386,linux/arm64,linux/arm/v7,darwin/amd64 --output type=image,name=docker.io/statping/statping,push=true .
|
||||
|
||||
sentry-release:
|
||||
needs: upload-release
|
||||
runs-on: ubuntu-latest
|
||||
|
|
|
@ -5,9 +5,7 @@ on:
|
|||
- '*' # matches every branch
|
||||
- '*/*' # matches every branch containing a single '/'
|
||||
- '!master' # excludes master
|
||||
pull_request:
|
||||
branches:
|
||||
- dev
|
||||
- '!dev' # excludes dev
|
||||
|
||||
jobs:
|
||||
compile:
|
||||
|
|
|
@ -4,6 +4,7 @@ import (
|
|||
"errors"
|
||||
"os"
|
||||
"os/exec"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
@ -25,7 +26,7 @@ func DirWritable(path string) (bool, error) {
|
|||
return true, nil
|
||||
}
|
||||
|
||||
func Ping(address string, secondsTimeout int) error {
|
||||
func Ping(address string, secondsTimeout int) (int64, error) {
|
||||
ping, err := exec.LookPath("ping")
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -37,5 +38,11 @@ func Ping(address string, secondsTimeout int) error {
|
|||
if strings.Contains(out, "Destination Host Unreachable") {
|
||||
return errors.New("destination host unreachable")
|
||||
}
|
||||
return nil
|
||||
r := regexp.MustCompile(`Average = (.*)ms`)
|
||||
strs := r.FindStringSubmatch(out)
|
||||
if len(strs) < 2 {
|
||||
return 0, errors.New("could not parse ping duration")
|
||||
}
|
||||
f, _ := strconv.ParseFloat(strs[1], 64)
|
||||
return int64(f * 1000), nil
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue