diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..e1607e6 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,60 @@ +name: Release + +on: + push: + tags: + - 'v*' + +permissions: + contents: write + +jobs: + build-releases: + name: Build release artifacts + runs-on: ubuntu-latest + strategy: + matrix: + os: [linux, darwin] + arch: [amd64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - uses: actions/setup-go@v4 + with: + go-version: '1.19.0' + - name: get tag + id: get_tag + run: echo ::set-output name=tag::${GITHUB_REF#refs/*/v} + - name: Build for arch + env: + GOOS: ${{ matrix.os }} + GOARCH: ${{ matrix.arch }} + VERSION: ${{ steps.get_tag.outputs.tag }} + run: go build -ldflags "-X main.Version=$(echo $VERSION)" + - name: Stash + uses: actions/upload-artifact@v3 + with: + name: doggo-${{ matrix.os }}-${{ matrix.arch }} + path: ./doggo + publish: + name: Publish release + runs-on: ubuntu-latest + needs: build-releases + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Retrieve artifacts + uses: actions/download-artifact@v3 + with: + path: release-builds + - name: Log artifact paths + run: | + pwd + ls -R + tar -czvf ./release-builds/doggo-darwin-amd64.tar.gz ./release-builds/doggo-darwin-amd64/doggo + tar -czvf ./release-builds/doggo-linux-amd64.tar.gz ./release-builds/doggo-linux-amd64/doggo + - name: Publish release + uses: softprops/action-gh-release@v1 + with: + files: | + ./release-builds/*.tar.gz diff --git a/main.go b/main.go index f2917db..5cbd548 100644 --- a/main.go +++ b/main.go @@ -10,6 +10,8 @@ import ( "strings" ) +var Version string + type Span struct { OrgId int `json:"org_id"` TraceId string `json:"trace_id"` @@ -177,6 +179,7 @@ func parseArgs(args []string) Config { } func main() { + log.Println("Doggo version: ", Version) config := parseArgs(os.Args) fullTrace := parseTraceJsonFromFile(config.tracePath)