Skip to content

Commit

Permalink
chore: switch to upsteam mergestat
Browse files Browse the repository at this point in the history
  • Loading branch information
moshloop committed Oct 17, 2023
1 parent b7dc4fa commit abb7209
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 31 deletions.
5 changes: 1 addition & 4 deletions build/full/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,11 @@ RUN curl -L https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-${JMETER_VER
ENV PATH /opt/apache-jmeter-${JMETER_VERSION}/bin/:$PATH


RUN curl -L https://github.com/flanksource/askgit/releases/download/v0.61.0-flanksource.1/mergestat-linux-amd64.tar.gz -o mergestat.tar.gz && \
RUN curl -L https://github.com/mergestat/mergestat-lite/releases/download/v0.6.1/mergestat-linux-amd64.tar.gz -o mergestat.tar.gz && \
tar zxf mergestat.tar.gz -C /usr/local/bin && \
rm mergestat.tar.gz && \
ln -s /usr/local/bin/mergestat /usr/local/bin/askgit && \
ls /usr/local/bin | grep merge && \
mergestat


# The best developer experience for load testing
ENV K6_VERSION=v0.47.0
RUN curl -L https://github.com/grafana/k6/releases/download/${K6_VERSION}/k6-${K6_VERSION}-linux-amd64.tar.gz -o k6.tar.gz && \
Expand Down
25 changes: 10 additions & 15 deletions checks/github.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"encoding/json"
"fmt"
osExec "os/exec"
"strings"

"github.com/flanksource/canary-checker/api/context"
"github.com/flanksource/canary-checker/api/external"
Expand Down Expand Up @@ -49,27 +48,23 @@ func (c *GitHubChecker) Check(ctx *context.Context, extConfig external.Check) pk
}
}

askGitCmd := fmt.Sprintf("GITHUB_TOKEN=%v askgit \"%v\" --format json", githubToken, check.Query)
askGitCmd := fmt.Sprintf("mergestat \"%v\" --format json", check.Query)
if ctx.IsTrace() {
ctx.Tracef("Executing askgit command: %v", askGitCmd)
}
cmd := osExec.Command("bash", "-c", askGitCmd)
cmd.Env = append(cmd.Env, "GITHUB_TOKEN="+githubToken)
output, err := cmd.CombinedOutput()
if err != nil {
return results.Failf("error executing askgit command. output=%q: %v", output, err)
}

rows := string(output)
var rowResults = make([]map[string]string, 0)
for _, row := range strings.Split(rows, "\n") {
if row == "" {
continue
}
var rowResult map[string]string
err := json.Unmarshal([]byte(row), &rowResult)
if err != nil {
return results.Failf("error parsing askgit result: %v", err)
}

rowResults = append(rowResults, rowResult)
var rowResults = make([]map[string]any, 0)
err = json.Unmarshal(output, &rowResults)
if err != nil {
return results.Failf("error parsing mergestat result: %v", err)
}

result.AddDetails(rowResults)
return results
}
18 changes: 9 additions & 9 deletions fixtures/git/_setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@

set -e

# Install askgit
curl -L https://github.com/flanksource/askgit/releases/download/v0.4.8-flanksource/askgit-linux-amd64.tar.gz -o askgit.tar.gz
tar xf askgit.tar.gz
sudo mv askgit /usr/bin/askgit
sudo chmod +x /usr/bin/askgit
rm askgit.tar.gz

wget -O libssl.deb http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
sudo dpkg -i libssl.deb
if $(uname -a | grep -q Darwin); then
curl -L https://github.com/mergestat/mergestat-lite/releases/download/v0.6.1/mergestat-macos-amd64.tar.gz -o mergestat.tar.gz
tar xf mergestat.tar.gz
mergestat --help
else
curl -L https://github.com/mergestat/mergestat-lite/releases/download/v0.6.1/mergestat-linux-amd64.tar.gz -o mergestat.tar.gz
tar xf mergestat.tar.gz
fi

#verification
which askgit
if ! askgit --help > /dev/null; then
if ! ./mergestat --help > /dev/null; then
printf "`askgit --help` failed. Check the binary?"
exit 1;
fi
Expand Down
4 changes: 3 additions & 1 deletion fixtures/git/git_check_pass.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@ apiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: github-pass
annotations:
trace: "true"
spec:
interval: 30
github:
- query: "SELECT * FROM github_repo_checks('flanksource/duty') where branch='main'"
- query: "SELECT * FROM commits('https://github.com/flanksource/commons')"
name: github-check
test:
expr: size(results) > 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ metadata:
spec:
interval: 30
github:
- query: "SELECT * FROM github_repo_checks('flanksource/template-operator') where branch='master'"
- query: "SELECT * FROM commits('https://github.com/flanksource/commons')"
name: github-expresion-check
test:
expr: 'Age(results[0]["started_at"]) > Duration("10m")'
githubToken:
valueFrom:
secretKeyRef:
name: github-token
key: GITHUB_TOKEN
key: GITHUB_TOKEN

0 comments on commit abb7209

Please sign in to comment.