Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
129 changes: 129 additions & 0 deletions .github/workflows/system-tests-official.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
name: System Tests - Official
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: # TO BE uncommented if the guild chooses this workflow
# - cron: "00 04 * * 2-6"

# Default permissions for all jobs
permissions: {}

jobs:
changes:
name: Changes
# temporary condition to test official workflow
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.head_ref == 'cbeauchesne/system-tests-official')
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.json'
- '.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
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

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
- 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@8ff6c41624103d83d384e0cf3241ec12e4984800 # Automated: This reference is automatically updated.
secrets: inherit # zizmor: ignore[secrets-inherit]
permissions:
contents: read
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: 8ff6c41624103d83d384e0cf3241ec12e4984800 # Automated: This reference is automatically updated.

complete:
name: System Tests (complete)
runs-on: ubuntu-24.04
needs:
- test
steps:
- run: echo "DONE!"
12 changes: 12 additions & 0 deletions .github/workflows/update-system-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,18 @@ jobs:
PATTERN: '(\s*SYSTEM_TESTS_REF:\s+)(\S+)(\s+# Automated:.*)'
REF: ${{ steps.system-test-ref.outputs.commit }}

- run: .github/scripts/update_reference.sh
env:
TARGET: ".github/workflows/system-tests-official.yml"
PATTERN: '(system-tests.yml@)(\S+)(\s+# Automated:.*)'
REF: ${{ steps.system-test-ref.outputs.commit }}

- run: .github/scripts/update_reference.sh
env:
TARGET: ".github/workflows/system-tests-official.yml"
PATTERN: '(\s+ref: )(\S+)(\s+# Automated:.*)'
REF: ${{ steps.system-test-ref.outputs.commit }}

- run: git diff --color=always

- name: Generate GitHub App Token
Expand Down
Loading