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-amd64.zip
|
||||||
builds/statping-windows-arm.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:
|
sentry-release:
|
||||||
needs: upload-release
|
needs: upload-release
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
|
@ -5,9 +5,7 @@ on:
|
||||||
- '*' # matches every branch
|
- '*' # matches every branch
|
||||||
- '*/*' # matches every branch containing a single '/'
|
- '*/*' # matches every branch containing a single '/'
|
||||||
- '!master' # excludes master
|
- '!master' # excludes master
|
||||||
pull_request:
|
- '!dev' # excludes dev
|
||||||
branches:
|
|
||||||
- dev
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
compile:
|
compile:
|
||||||
|
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
"regexp"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
@ -25,7 +26,7 @@ func DirWritable(path string) (bool, error) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func Ping(address string, secondsTimeout int) error {
|
func Ping(address string, secondsTimeout int) (int64, error) {
|
||||||
ping, err := exec.LookPath("ping")
|
ping, err := exec.LookPath("ping")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -37,5 +38,11 @@ func Ping(address string, secondsTimeout int) error {
|
||||||
if strings.Contains(out, "Destination Host Unreachable") {
|
if strings.Contains(out, "Destination Host Unreachable") {
|
||||||
return errors.New("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