chore(deps): bump google.golang.org/grpc from 1.65.0 to 1.68.0 #1256
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build artifacts | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
permissions: | |
contents: read | |
packages: write | |
pages: write | |
id-token: write | |
jobs: | |
compile-binary: | |
name: Build executable | |
runs-on: [ubuntu-20.04] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: '1.22.3' | |
- name: Compile executable | |
run: make output/kelemetry | |
- name: Upload executable | |
uses: actions/upload-artifact@v4 | |
with: | |
name: kelemetry-linux-amd64 | |
path: output/kelemetry | |
dot-usage: | |
name: Generate dependency graph and usage file | |
runs-on: [ubuntu-20.04] | |
needs: [compile-binary] | |
steps: | |
- name: Install graphviz | |
run: sudo apt-get install -y graphviz | |
- uses: actions/checkout@v3 | |
- name: Download executable | |
uses: actions/download-artifact@v4 | |
with: | |
name: kelemetry-linux-amd64 | |
path: output | |
- run: chmod +x output/kelemetry | |
- name: Re-generate USAGE.txt | |
run: make usage | |
- name: Generate depgraph | |
run: make dot | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: dot-usage | |
path: | | |
depgraph.* | |
USAGE.txt | |
build-docker: | |
name: Build docker image for quickstart | |
runs-on: [ubuntu-20.04] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Build docker image | |
run: docker build -t kelemetry:ci . | |
- name: Export docker image to file | |
run: mkdir output && docker save -o output/kelemetry-ci.tar kelemetry:ci | |
- name: Upload docker image artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ci-docker-image | |
path: output/kelemetry-ci.tar | |
e2e: | |
name: Generate demo traces | |
runs-on: [ubuntu-20.04] | |
needs: [build-docker] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install kind | |
run: wget --no-verbose -O kind https://kind.sigs.k8s.io/dl/v0.17.0/kind-linux-amd64 && chmod +x kind && sudo mv kind /usr/local/bin/kind | |
- name: Start test cluster | |
run: make kind | |
- name: Install kubectl | |
run: | | |
wget --no-verbose -O kubectl https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl && \ | |
chmod +x kubectl && \ | |
sudo mv kubectl /usr/local/bin/kubectl | |
- name: Download docker image | |
uses: actions/download-artifact@v4 | |
with: | |
name: ci-docker-image | |
path: local | |
- name: Load docker image | |
run: docker load -i local/kelemetry-ci.tar | |
- name: Start quickstartup setup | |
run: make quickstart KELEMETRY_IMAGE=kelemetry:ci | |
- name: Run e2e tests | |
run: | | |
mkdir output | |
OUTPUT_TRACE=$(realpath output) bash e2e/run-all.sh | |
- name: Upload trace output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: trace-output | |
path: output | |
build-site: | |
name: Build site | |
runs-on: [ubuntu-20.04] | |
needs: [compile-binary, dot-usage, e2e] | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: trace-output | |
path: output | |
- name: Download Jaeger UI | |
run: | | |
mkdir -p local/jaeger-ui | |
wget -O - https://github.com/jaegertracing/jaeger-ui/releases/download/v1.28.1/assets.tar.gz | tar xzv -C local/jaeger-ui | |
mv local/jaeger-ui/packages/jaeger-ui/build/static output/static | |
sed 's#<base href="/"#<base href="/kelemetry/"#g' local/jaeger-ui/packages/jaeger-ui/build/index.html >spa.html | |
- name: Generate static SPA links | |
run: | | |
mkdir -p output/api/traces | |
for trace_id_file in output/trace-*/trace_id; do | |
trace_name=$(basename $(dirname $trace_id_file)) | |
base_trace_id=$(cat $trace_id_file) | |
default_trace_id=ff21000000${base_trace_id} | |
cat <<EOF >output/${trace_name}/index.html | |
<html> | |
<head> | |
<title>Redirecting to ${trace_name}</title> | |
<meta http-equiv="refresh" content="0;URL='/kelemetry/trace/${default_trace_id}'" /> | |
</head> | |
</html> | |
EOF | |
mkdir -p output/trace/${default_trace_id} | |
cp spa.html output/trace/${default_trace_id}/index.html | |
done | |
- name: Download dot-usage artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: dot-usage | |
path: dot-usage | |
- name: Download binary artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: kelemetry-linux-amd64 | |
path: output/kelemetry-linux-amd64 | |
- name: Generate index page | |
run: | | |
mv dot-usage/* output/ | |
cat <<EOF >output/index.html | |
<html> | |
<head> | |
<title>Kelemetry</title> | |
<base href="/kelemetry/" /> | |
</head> | |
<body> | |
<h1>Kelemetry</h1> | |
<p>Check repo on <a href="https://github.com/kubewharf/kelemetry">GitHub</a>.</p> | |
<h2>Artifacts</h2> | |
<p> | |
This site hosts artifacts built from the latest development version of Kelemetry, including: | |
</p> | |
<ul> | |
<li><a href="kelemetry-linux-amd64/kelemetry">Executable binary (Linux, amd64)</a></li> | |
<li><a href="USAGE.txt">Executable options</a></li> | |
<li><a href="depgraph.png">Internal dependency graph</a></li> | |
</ul> | |
<h2>Previews</h2> | |
<p> | |
This site hosts a few demo traces from Kelemetry rendered on <a href="https://github.com/kubewharf/kelemetry/actions">GitHub CI</a>. | |
This preview contains assets from <a href="https://github.com/jaegertracing/jaeger-ui">Jaeger UI</a>, | |
which is distributed under <a href="https://github.com/jaegertracing/jaeger-ui/raw/main/LICENSE">Apache License 2.0</a>. | |
Part of the Jaeger UI assets may have been modified to facilitate serving on GitHub Pages. | |
</p> | |
<ul> | |
EOF | |
for trace_dir in output/trace-*; do | |
basename=$(basename $trace_dir) | |
cat <<EOF >>output/index.html | |
<li><a href="$basename/">$(cat $trace_dir/trace_display_name)</a></li> | |
EOF | |
done | |
cat <<EOF >>output/index.html | |
</ul> | |
</body> | |
</html> | |
EOF | |
- name: Upload pages artifact | |
uses: actions/upload-pages-artifact@v1 | |
with: | |
path: output | |
deploy-github-pages: | |
name: Deploy GitHub Pages | |
runs-on: [ubuntu-20.04] | |
needs: [build-site] | |
if: github.event_name == 'push' && (github.ref_name == 'main' || github.ref_name == 'ci-test') | |
concurrency: | |
group: gh-pages | |
steps: | |
- uses: actions/deploy-pages@v2 | |
id: deployment | |
publish-image: | |
name: Publish docker image | |
runs-on: [ubuntu-20.04] | |
needs: [build-docker] | |
concurrency: | |
group: ${{github.ref_type}}-${{github.ref}} | |
cancel-in-progress: true | |
if: github.event_name == 'push' && (github.ref_type == 'tag' || (github.ref_type == 'branch' && github.ref_name == 'main')) | |
steps: | |
- name: Download docker image | |
uses: actions/download-artifact@v4 | |
with: | |
name: ci-docker-image | |
path: local | |
- name: Load docker image | |
run: docker load -i local/kelemetry-ci.tar | |
- name: Determine image tag for release | |
id: tag-name | |
run: | | |
if [[ ${{github.ref_type}} == tag ]]; then | |
echo "IMAGE_TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT | |
else | |
echo "IMAGE_TAG=dev" >> $GITHUB_OUTPUT | |
fi | |
- name: Re-tag docker image | |
run: docker tag kelemetry:ci ghcr.io/kubewharf/kelemetry:${{steps.tag-name.outputs.IMAGE_TAG}} | |
- name: Login to GHCR | |
uses: docker/login-action@v2 | |
with: | |
registry: ghcr.io | |
username: ${{github.actor}} | |
password: ${{secrets.GITHUB_TOKEN}} | |
- run: docker push ghcr.io/kubewharf/kelemetry:${{steps.tag-name.outputs.IMAGE_TAG}} |