Skip to content

refactor for dispatch style #285

refactor for dispatch style

refactor for dispatch style #285

# This workflow is meant to imitate the behavior of RAPIDS project PR workflows, such as
on:
pull_request:
workflow_dispatch:
env:
#
# This test workflow defines the variable at the outermost scope because its value is used at the top
# and then again as a test value
SHARED_ACTIONS_REF: ${{ github.ref}}
jobs:
base-env-setup:
runs-on: ubuntu-latest
# These will be stashed. The names are not arbitrary. They match special OpenTelemetry names
# or names that are hard-coded in actions/scripts downstream.
env:
SHARED_ACTIONS_REPO: rapidsai/shared-actions
SHARED_ACTIONS_REF: ${{ github.ref }}
# this should stay the same throughout this workflow, but child workflows will each
# have their own OTEL_SERVICE_NAME. It is generally the job name, including any matrix elements.
# This is what distinguishes one job trace from another, so it is important to be distinct
# between jobs.
OTEL_SERVICE_NAME: test-telemetry
# TODO: this should be set as an org-wide variable
OTEL_EXPORTER_OTLP_ENDPOINT: https://tempo.gha-runners.nvidia.com:4318
OTEL_EXPORTER_OTLP_PROTOCOL: "http/protobuf"
OTEL_RESOURCE_ATTRIBUTES: "git.repository=${{ github.repository}},git.ref=${{ github.ref}},git.sha=${{ github.sha}},git.job_url=${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
steps:
- name: Compute traceparent and stash telemetry-related env vars
uses: rapidsai/shared-actions/telemetry-dispatch-stash-base-env-vars@telemetry-dispatch-actions
child-workflow:
needs: base-env-setup
secrets: inherit
uses: rapidsai/shared-actions/.github/workflows/test-child-workflow.yaml@telemetry-dispatch-actions
summarize-top-level:
runs-on: ubuntu-latest
needs:
- child-workflow
steps:
- name: Load base env vars, including OTEL_SERVICE_NAME
uses: rapidsai/shared-actions/telemetry-dispatch-load-base-env-vars@telemetry-dispatch-actions
with:
load_service_name: "true"
- run: echo "wrong OTEL_SERVICE_NAME after loading variables - this would be a disconnect in the trace"; exit 1;
if: ${{ env.OTEL_SERVICE_NAME }} != 'test-telemetry'
- name: Telemetry setup
uses: rapidsai/shared-actions/telemetry-dispatch-write-summary@telemetry-dispatch-actions
with:
cert_concat: "${{ secrets.OTEL_EXPORTER_OTLP_CA_CERTIFICATE }};${{ secrets.OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE }};${{ secrets.OTEL_EXPORTER_OTLP_CLIENT_KEY }}"
- run: echo "wrong OTEL_SERVICE_NAME after telemetry summary - this might be a disconnect in the trace"; exit 1;
if: ${{ env.OTEL_SERVICE_NAME }} != 'test-telemetry'