ping regex for windows, gh actions

pull/739/head
hunterlong 2020-07-10 09:21:54 -07:00
parent 823cc4cf5d
commit 2037359fad
4 changed files with 39 additions and 30 deletions

29
.github/workflows/deploy.yml vendored Normal file
View File

@ -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 .

View File

@ -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

View File

@ -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:

View File

@ -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
}