Merge pull request #4866 from DataDog/cbeauchesne/use-official-st-wor… #15951
This file contains hidden or 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: System Tests | |
on: # yamllint disable-line rule:truthy | |
push: | |
branches: | |
- master | |
# A workaround to trigger the workflow for pull requests from forked repository, | |
# which does not have access to secrets. | |
# | |
# This is also useful for testing the workflow without opening a pull request. | |
- tmp/* | |
pull_request: | |
branches: | |
- master | |
workflow_dispatch: {} | |
schedule: | |
- cron: "00 04 * * 2-6" | |
# Default permissions for all jobs | |
permissions: {} | |
jobs: | |
changes: | |
name: Changes | |
runs-on: ubuntu-24.04 | |
outputs: | |
changes: ${{ steps.changes.outputs.src }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
persist-credentials: false | |
- name: Changes | |
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 | |
id: changes | |
with: | |
filters: | | |
src: | |
- '.github/forced-tests-list.cfg' | |
- '.github/workflows/**' | |
- 'lib/**' | |
- 'ext/**' | |
- '*.gemspec' | |
- 'Gemfile' | |
- '*.gemfile' | |
- 'lib-injection/**' | |
- 'tasks/**' | |
build: | |
needs: | |
- changes | |
if: ${{ needs.changes.outputs.changes == 'true' }} | |
runs-on: ubuntu-22.04 | |
name: Build artifact | |
permissions: | |
packages: write | |
outputs: | |
forced_tests: ${{ steps.compute_forced_tests.outputs.forced_tests }} | |
steps: | |
- name: Checkout DataDog/dd-trace-rb | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
repository: DataDog/dd-trace-rb | |
fetch-depth: 2 | |
persist-credentials: false | |
path: packaged/dd-trace-rb | |
- name: Upload artifact | |
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
with: | |
name: dd-trace-rb # The name must match the folder name so it extracts to binaries/dd-trace-rb on download | |
path: packaged | |
- id: compute_forced_tests | |
run: | | |
value=$(grep -v -E '^\s*#|^\s*$' packaged/dd-trace-rb/.github/forced-tests-list.cfg | paste -sd ',') | |
echo "forced_tests=$value" >> "$GITHUB_OUTPUT" | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- weblogs: "" # All of them | |
scenarios: DEFAULT,EVERYTHING_DISABLED,APPSEC_BLOCKING_FULL_DENYLIST,APPSEC_REQUEST_BLOCKING,APPSEC_BLOCKING,GRAPHQL_APPSEC,PARAMETRIC | |
- weblogs: rack,rails70 | |
scenarios: | | |
APPSEC_API_SECURITY, | |
APPSEC_AUTO_EVENTS_EXTENDED, | |
APPSEC_CORRUPTED_RULES, | |
APPSEC_CUSTOM_OBFUSCATION, | |
APPSEC_CUSTOM_RULES, | |
APPSEC_LOW_WAF_TIMEOUT, | |
APPSEC_MISSING_RULES, | |
APPSEC_RATE_LIMITER, | |
APPSEC_RULES_MONITORING_WITH_ERRORS, | |
APPSEC_STANDALONE, | |
CROSSED_TRACING_LIBRARIES, | |
DEBUGGER_PII_REDACTION, | |
DEBUGGER_PROBES_SNAPSHOT, | |
DEBUGGER_PROBES_STATUS, | |
INTEGRATIONS, | |
PROFILING, | |
REMOTE_CONFIG_MOCKED_BACKEND_ASM_DD, | |
REMOTE_CONFIG_MOCKED_BACKEND_ASM_DD_NOCACHE, | |
REMOTE_CONFIG_MOCKED_BACKEND_ASM_FEATURES, | |
REMOTE_CONFIG_MOCKED_BACKEND_ASM_FEATURES_NOCACHE, | |
SAMPLING, | |
SCA_STANDALONE, | |
TELEMETRY_APP_STARTED_PRODUCTS_DISABLED, | |
TELEMETRY_DEPENDENCY_LOADED_TEST_FOR_DEPENDENCY_COLLECTION_DISABLED, | |
TELEMETRY_LOG_GENERATION_DISABLED, | |
TELEMETRY_METRIC_GENERATION_DISABLED | |
needs: | |
- build | |
uses: DataDog/system-tests/.github/workflows/system-tests.yml@4ea4c419151062ab3c2e4131962f24f73c8f3f5d # Automated: This reference is automatically updated. | |
secrets: inherit # zizmor: ignore[secrets-inherit] | |
permissions: | |
contents: read | |
id-token: write | |
packages: write | |
with: | |
library: ruby | |
binaries_artifact: dd-trace-rb | |
desired_execution_time: 300 # 5 minutes | |
scenarios: ${{ matrix.scenarios }} | |
weblogs: ${{ matrix.weblogs }} | |
skip_empty_scenarios: true | |
ref: 4ea4c419151062ab3c2e4131962f24f73c8f3f5d # Automated: This reference is automatically updated. | |
force_execute: ${{ needs.build.outputs.forced_tests }} | |
parametric_job_count: 8 | |
complete: | |
name: System Tests (complete) | |
runs-on: ubuntu-24.04 | |
needs: | |
- test | |
steps: | |
- run: echo "DONE!" |