Skip to content

feat(website): add highlights to typesense #18508

feat(website): add highlights to typesense

feat(website): add highlights to typesense #18508

Workflow file for this run

# Integration Test Suite
#
# This workflow runs the integration tests. If the workflow is triggered in the merge queue, all integration tests
# are run. If the workflow is triggered in a PR commit, then the files changed in the PR are evaluated to determine
# if any integration tests will run.
name: Integration Test Suite
on:
workflow_dispatch:
pull_request:
merge_group:
types: [ checks_requested ]
concurrency:
# `github.event.number` exists for pull requests, otherwise fall back to SHA for merge queue
group: ${{ github.workflow }}-${{ github.event.number || github.event.merge_group.head_sha }}
cancel-in-progress: true
env:
CONTAINER_TOOL: "docker"
DD_ENV: "ci"
DD_API_KEY: ${{ secrets.DD_API_KEY }}
TEST_DATADOG_API_KEY: ${{ secrets.CI_TEST_DATADOG_API_KEY }}
TEST_APPSIGNAL_PUSH_API_KEY: ${{ secrets.TEST_APPSIGNAL_PUSH_API_KEY }}
AXIOM_TOKEN: ${{ secrets.AXIOM_TOKEN }}
RUST_BACKTRACE: full
VECTOR_LOG: vector=debug
VERBOSE: true
CI: true
PROFILE: debug
# observing issues fetching boringssl via HTTPS in the OSX build, seeing if this helps
# can be removed when we switch back to the upstream openssl-sys crate
CARGO_NET_GIT_FETCH_WITH_CLI: true
jobs:
changes:
if: github.event_name == 'merge_group'
uses: ./.github/workflows/changes.yml
with:
source: true
int_tests: true
e2e_tests: true
secrets: inherit
integration-tests:
runs-on: ubuntu-24.04-8core
needs:
- changes
if: ${{ !failure() && !cancelled() && (github.event_name == 'merge_group' || github.event_name == 'workflow_dispatch') }}
strategy:
matrix:
# TODO: Add "splunk" back once https://github.com/vectordotdev/vector/issues/23474 is fixed.
# If you modify this list, please also update the `int_tests` job in changes.yml.
service: [
"amqp", "appsignal", "axiom", "aws", "azure", "clickhouse", "databend", "datadog-agent",
"datadog-logs", "datadog-metrics", "datadog-traces", "dnstap", "docker-logs", "elasticsearch",
"eventstoredb", "fluent", "gcp", "greptimedb", "http-client", "influxdb", "kafka", "logstash",
"loki", "mongodb", "nats", "nginx", "opentelemetry", "postgres", "prometheus", "pulsar",
"redis", "webhdfs"
]
timeout-minutes: 90
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
submodules: "recursive"
- name: Download JSON artifact from changes.yml
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
if: github.event_name == 'merge_group'
with:
name: int_tests_changes
- name: Run Integration Tests for ${{ matrix.service }}
uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3.0.2
with:
timeout_minutes: 30
max_attempts: 3
command: |
if [[ -f int_tests_changes.json ]]; then
# Parse the JSON and check if the specific integration test should run.
should_run=$(jq -r '."${{ matrix.service }}" // false' int_tests_changes.json)
else
# The `changes` job did not run (manual run) or the file is missing, default to false.
should_run=false
fi
if [[ "${{ needs.changes.outputs.website_only }}" == "true" ]]; then
echo "Skipping ${{ matrix.service }} test since only website changes were detected"
exit 0
fi
# Check if any of the three conditions is true
if [[ "${{ github.event_name }}" == "workflow_dispatch" || \
"${{ needs.changes.outputs.dependencies }}" == "true" || \
"$should_run" == "true" ]]; then
# Only install dep if test runs
bash scripts/environment/prepare.sh --modules=datadog-ci
echo "Running test for ${{ matrix.service }}"
bash scripts/run-integration-test.sh int ${{ matrix.service }}
else
echo "Skipping ${{ matrix.service }} test as the value is false or conditions not met."
fi
e2e-tests:
runs-on: ubuntu-24.04-8core
needs:
- changes
if: ${{ !failure() && !cancelled() && (github.event_name == 'merge_group' || github.event_name == 'workflow_dispatch') }}
strategy:
matrix:
service: [ "datadog-logs", "datadog-metrics", "opentelemetry-logs" ]
timeout-minutes: 90
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
submodules: "recursive"
- name: Run E2E Tests for ${{ matrix.service }}
run: |
if [[ "${{ needs.changes.outputs.website_only }}" == "true" ]]; then
echo "Skipping ${{ matrix.service }} test since only website changes were detected"
exit 0
fi
# Check if any of the three conditions is true
if [[ "${{ github.event_name }}" == "workflow_dispatch" || \
"${{ needs.changes.outputs.dependencies }}" == "true" ]]; then
bash scripts/environment/prepare.sh --modules=datadog-ci
echo "Running test for ${{ matrix.service }}"
bash scripts/run-integration-test.sh e2e ${{ matrix.service }}
else
echo "Skipping ${{ matrix.service }} test because run conditions were not met."
fi
integration-test-suite:
name: Integration Test Suite
runs-on: ubuntu-24.04
if: always()
needs:
- integration-tests
- e2e-tests
steps:
- run: |
if [[ "${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}" == "true" ]]; then
echo "One or more jobs failed or were cancelled"
exit 1
else
echo "All jobs completed successfully"
fi