Spaces:
No application file
No application file
| # To run locally | |
| # act -W .github/workflows/test-trace-steps.yaml --container-architecture linux/amd64 -b ci/logs:/logs | |
| name: Test Workflow | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - .github/workflows/test-trace-steps.yaml | |
| workflow_dispatch: | |
| jobs: | |
| test-build: | |
| if: "!contains(github.event.pull_request.labels.*.name, 'hold-tests')" | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4.1.7 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5.1.1 | |
| with: | |
| python-version: '3.11' | |
| - name: Install Python dependencies | |
| run: | | |
| pip install --no-cache-dir opentelemetry-sdk opentelemetry-exporter-otlp opentelemetry-instrumentation | |
| - name: Download OpenTelemetry Collector Contrib | |
| run: | | |
| wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.103.0/otelcol-contrib_0.103.0_linux_amd64.tar.gz | |
| tar -xvf otelcol-contrib_0.103.0_linux_amd64.tar.gz | |
| - name: Write secrets to files | |
| run: | | |
| echo "${{ secrets.ROSA_OTEL_CACERT }}" > /tmp/ca.crt | |
| echo "${{ secrets.ROSA_OTEL_SERVER_CRT }}" > /tmp/server.crt | |
| echo "${{ secrets.ROSA_OTEL_SERVER_KEY }}" > /tmp/server.key | |
| - name: Configure OpenTelemetry Collector | |
| run: | | |
| echo ' | |
| receivers: | |
| otlp: | |
| protocols: | |
| grpc: | |
| http: | |
| exporters: | |
| otlphttp: | |
| endpoint: "${{ secrets.ROSA_OTEL_ENDPOINT }}" | |
| tls: | |
| insecure: false | |
| cert_file: /tmp/server.crt | |
| key_file: /tmp/server.key | |
| ca_file: /tmp/ca.crt | |
| debug: | |
| verbosity: detailed | |
| service: | |
| pipelines: | |
| traces: | |
| receivers: [otlp] | |
| exporters: [debug, otlphttp] | |
| ' > otel-collector-config.yaml | |
| - name: Run OpenTelemetry Collector | |
| run: | | |
| ./otelcol-contrib --config otel-collector-config.yaml > otel-collector.log 2>&1 & | |
| - name: Start job trace | |
| run: | | |
| export WORKFLOW_NAME="test-trace" | |
| export JOB_NAME="test-build" | |
| export TRACE_ACTION="start" | |
| python ci/trace-steps.py | |
| - name: Build | |
| run: | | |
| echo "Simulating build step..." | |
| sleep 2 | |
| - name: Test | |
| run: | | |
| echo "Simulating test step..." | |
| sleep 2 | |
| - name: End job trace | |
| run: | | |
| export WORKFLOW_NAME="test-trace" | |
| export JOB_NAME="test-build" | |
| export TRACE_ACTION="end" | |
| python ci/trace-steps.py | |
| - name: Display OpenTelemetry Collector Logs | |
| run: cat otel-collector.log | |