Skip to content

Tags backend

Tags backend #89

Workflow file for this run

name: CI
on:
pull_request:
# Requiring certain checks for PRs to be merge-able in Github, forces for those checks to be *always* run.
# Even if the changes do not require them (i.e. the paths indicated below). That's why `paths-ignore` is commented out.
#
# paths-ignore:
# - 'docs/**'
# - 'example/**'
# - 'tools/**'
concurrency:
# Cancel any running workflow for the same branch when new commits are pushed.
# We group both by ref_name (available when CI is triggered by a push to a branch/tag)
# and head_ref (available when CI is triggered by a PR).
group: "${{ github.ref_name }}-${{ github.head_ref }}"
cancel-in-progress: true
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21
uses: actions/setup-go@v3
with:
go-version: 1.21.x
- name: Install jsonnetfmt and goimports
run: |
curl -fSL -o jsonnet.tar.gz https://github.com/google/jsonnet/releases/download/v0.17.0/jsonnet-bin-v0.17.0-linux.tar.gz
tar -xvf jsonnet.tar.gz -C /usr/local/bin/
chmod a+x /usr/local/bin/jsonnetfmt
go install golang.org/x/tools/cmd/goimports@v0.1.12
- name: Check out code
uses: actions/checkout@v3
- name: check-fmt
run: make check-fmt
- name: check-jsonnetfmt
run: make check-jsonnetfmt
- name: Lint
uses: golangci/golangci-lint-action@v3
with:
version: v1.55.2
only-new-issues: true
unit-tests-pkg:
name: Test packages - pkg
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21
uses: actions/setup-go@v3
with:
go-version: 1.21.x
- name: Check out code
uses: actions/checkout@v3
- name: Test
run: make test-with-cover-pkg
unit-tests-tempodb:
name: Test packages - tempodb
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21
uses: actions/setup-go@v3
with:
go-version: 1.21.x
- name: Check out code
uses: actions/checkout@v3
- name: Test
run: make test-with-cover-tempodb
unit-tests-tempodb-wal:
name: Test packages - tempodb/wal
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21
uses: actions/setup-go@v3
with:
go-version: 1.21.x
- name: Check out code
uses: actions/checkout@v3
- name: Test
run: make test-with-cover-tempodb-wal
unit-tests-others:
name: Test packages - others
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21
uses: actions/setup-go@v3
with:
go-version: 1.21.x
- name: Check out code
uses: actions/checkout@v3
- name: Test
run: make test-with-cover-others
integration-tests:
name: Test integration e2e suite
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21
uses: actions/setup-go@v3
with:
go-version: 1.21.x
- name: Check out code
uses: actions/checkout@v3
- name: Test
run: make test-e2e
- name: Poller
run: make test-integration-poller
integration-tests-serverless:
name: Test serverless integration e2e suite
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21
uses: actions/setup-go@v3
with:
go-version: 1.21.x
- name: Check out code
uses: actions/checkout@v3
- name: Test
run: make test-e2e-serverless
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21
uses: actions/setup-go@v3
with:
go-version: 1.21.x
- name: Check out code
uses: actions/checkout@v3
- name: Build Tempo
run: make tempo
- name: Build tempo-query
run: make tempo-query
- name: Build vulture
run: make tempo-vulture
- name: Build tempo-cli
run: make tempo-cli
benchmark:
name: Benchmark
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21
uses: actions/setup-go@v3
with:
go-version: 1.21.x
- name: Check out code
uses: actions/checkout@v3
- name: Bench
run: make test-bench
vendor-check:
name: Vendor check
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21
uses: actions/setup-go@v3
with:
go-version: 1.21.x
- name: Check out code
uses: actions/checkout@v3
- name: Install Protoc
uses: arduino/setup-protoc@v1
with:
version: '3.11.2'
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Check vendor
run: make vendor-check
tempo-jsonnet:
name: Check jsonnet & tempo-mixin
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21
uses: actions/setup-go@v3
with:
go-version: 1.21.x
- name: Install jsonnet, jsonnet-bundler & tanka
run: |
curl -fSL -o jsonnet.tar.gz https://github.com/google/jsonnet/releases/download/v0.17.0/jsonnet-bin-v0.17.0-linux.tar.gz
tar -xvf jsonnet.tar.gz -C /usr/local/bin/
chmod a+x /usr/local/bin/jsonnet
go install github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb@v0.4.0
curl -fSL -o /usr/local/bin/tk https://github.com/grafana/tanka/releases/download/v0.19.0/tk-linux-amd64
chmod a+x /usr/local/bin/tk
- name: Check out code
uses: actions/checkout@v3
- name: Check jsonnet
run: make jsonnet-check
- name: Check tempo-mixin
run: make tempo-mixin-check
- name: Test jsonnet
run: make jsonnet-test
build-technical-documentation:
name: Build technical documentation
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Build Website
run: docker run -v ${PWD}/docs/sources:/hugo/content/docs/tempo/latest --rm grafana/docs-base:latest make prod