Skip to content
Draft
Show file tree
Hide file tree
Changes from all 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
43 changes: 43 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,31 @@ env:
${{ github.workspace }}/dist-serverless

jobs:
changes:
runs-on: ubuntu-22.04
outputs:
has_code_changes: ${{ steps.changes.outputs.has_code_changes }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
filters: |
has_code_changes:
- 'sentry_sdk/**'
- 'tests/**'
- 'scripts/**'
- '**/*.py'
- '**/*.cfg'
- '**/*.toml'
- '**/*.ini'
- 'Makefile'
- 'requirements*.txt'
- '.github/workflows/**'

lint:
needs: changes
if: needs.changes.outputs.has_code_changes == 'true'
name: Lint Sources
runs-on: ubuntu-latest
timeout-minutes: 10
Expand All @@ -33,6 +57,8 @@ jobs:
tox -e linters

build_lambda_layer:
needs: changes
if: needs.changes.outputs.has_code_changes == 'true'
name: Build Package
runs-on: ubuntu-latest
timeout-minutes: 10
Expand Down Expand Up @@ -62,6 +88,8 @@ jobs:
if-no-files-found: 'error'

docs:
needs: changes
if: needs.changes.outputs.has_code_changes == 'true'
name: Build SDK API Doc
runs-on: ubuntu-latest
timeout-minutes: 10
Expand All @@ -82,3 +110,18 @@ jobs:
path: |
docs/_build/gh-pages.zip
if-no-files-found: 'error'

check_required_ci:
name: All CI checks passed
needs: [changes, lint, build_lambda_layer, docs]
if: always()
runs-on: ubuntu-22.04
steps:
- name: Check for failures
if: |
needs.changes.result == 'failure' || needs.changes.result == 'cancelled' ||
needs.lint.result == 'failure' || needs.lint.result == 'cancelled' ||
needs.build_lambda_layer.result == 'failure' || needs.build_lambda_layer.result == 'cancelled' ||
needs.docs.result == 'failure' || needs.docs.result == 'cancelled'
run: |
echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1
29 changes: 27 additions & 2 deletions .github/workflows/test-integrations-agents.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,30 @@ env:
CACHED_BUILD_PATHS: |
${{ github.workspace }}/dist-serverless
jobs:
changes:
runs-on: ubuntu-22.04
outputs:
has_code_changes: ${{ steps.changes.outputs.has_code_changes }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
filters: |
has_code_changes:
- 'sentry_sdk/**'
- 'tests/**'
- 'scripts/**'
- '**/*.py'
- '**/*.cfg'
- '**/*.toml'
- '**/*.ini'
- 'Makefile'
- 'requirements*.txt'
- '.github/workflows/**'
test-agents:
needs: changes
if: needs.changes.outputs.has_code_changes == 'true'
name: Agents
timeout-minutes: 30
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -82,12 +105,14 @@ jobs:
verbose: true
check_required_tests:
name: All Agents tests passed
needs: test-agents
needs: [changes, test-agents]
# Always run this, even if a dependent job failed
if: always()
runs-on: ubuntu-22.04
steps:
- name: Check for failures
if: needs.test-agents.result != 'success'
if: |
needs.changes.result == 'failure' || needs.changes.result == 'cancelled' ||
needs.test-agents.result == 'failure' || needs.test-agents.result == 'cancelled'
run: |
echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1
29 changes: 27 additions & 2 deletions .github/workflows/test-integrations-ai-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,30 @@ env:
CACHED_BUILD_PATHS: |
${{ github.workspace }}/dist-serverless
jobs:
changes:
runs-on: ubuntu-22.04
outputs:
has_code_changes: ${{ steps.changes.outputs.has_code_changes }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
filters: |
has_code_changes:
- 'sentry_sdk/**'
- 'tests/**'
- 'scripts/**'
- '**/*.py'
- '**/*.cfg'
- '**/*.toml'
- '**/*.ini'
- 'Makefile'
- 'requirements*.txt'
- '.github/workflows/**'
test-ai_workflow:
needs: changes
if: needs.changes.outputs.has_code_changes == 'true'
name: AI Workflow
timeout-minutes: 30
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -86,12 +109,14 @@ jobs:
verbose: true
check_required_tests:
name: All AI Workflow tests passed
needs: test-ai_workflow
needs: [changes, test-ai_workflow]
# Always run this, even if a dependent job failed
if: always()
runs-on: ubuntu-22.04
steps:
- name: Check for failures
if: needs.test-ai_workflow.result != 'success'
if: |
needs.changes.result == 'failure' || needs.changes.result == 'cancelled' ||
needs.test-ai_workflow.result == 'failure' || needs.test-ai_workflow.result == 'cancelled'
run: |
echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1
29 changes: 27 additions & 2 deletions .github/workflows/test-integrations-ai.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,30 @@ env:
CACHED_BUILD_PATHS: |
${{ github.workspace }}/dist-serverless
jobs:
changes:
runs-on: ubuntu-22.04
outputs:
has_code_changes: ${{ steps.changes.outputs.has_code_changes }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
filters: |
has_code_changes:
- 'sentry_sdk/**'
- 'tests/**'
- 'scripts/**'
- '**/*.py'
- '**/*.cfg'
- '**/*.toml'
- '**/*.ini'
- 'Makefile'
- 'requirements*.txt'
- '.github/workflows/**'
test-ai:
needs: changes
if: needs.changes.outputs.has_code_changes == 'true'
name: AI
timeout-minutes: 30
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -102,12 +125,14 @@ jobs:
verbose: true
check_required_tests:
name: All AI tests passed
needs: test-ai
needs: [changes, test-ai]
# Always run this, even if a dependent job failed
if: always()
runs-on: ubuntu-22.04
steps:
- name: Check for failures
if: needs.test-ai.result != 'success'
if: |
needs.changes.result == 'failure' || needs.changes.result == 'cancelled' ||
needs.test-ai.result == 'failure' || needs.test-ai.result == 'cancelled'
run: |
echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1
29 changes: 27 additions & 2 deletions .github/workflows/test-integrations-cloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,30 @@ env:
CACHED_BUILD_PATHS: |
${{ github.workspace }}/dist-serverless
jobs:
changes:
runs-on: ubuntu-22.04
outputs:
has_code_changes: ${{ steps.changes.outputs.has_code_changes }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
filters: |
has_code_changes:
- 'sentry_sdk/**'
- 'tests/**'
- 'scripts/**'
- '**/*.py'
- '**/*.cfg'
- '**/*.toml'
- '**/*.ini'
- 'Makefile'
- 'requirements*.txt'
- '.github/workflows/**'
test-cloud:
needs: changes
if: needs.changes.outputs.has_code_changes == 'true'
name: Cloud
timeout-minutes: 30
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -98,12 +121,14 @@ jobs:
verbose: true
check_required_tests:
name: All Cloud tests passed
needs: test-cloud
needs: [changes, test-cloud]
# Always run this, even if a dependent job failed
if: always()
runs-on: ubuntu-22.04
steps:
- name: Check for failures
if: needs.test-cloud.result != 'success'
if: |
needs.changes.result == 'failure' || needs.changes.result == 'cancelled' ||
needs.test-cloud.result == 'failure' || needs.test-cloud.result == 'cancelled'
run: |
echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1
29 changes: 27 additions & 2 deletions .github/workflows/test-integrations-common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,30 @@ env:
CACHED_BUILD_PATHS: |
${{ github.workspace }}/dist-serverless
jobs:
changes:
runs-on: ubuntu-22.04
outputs:
has_code_changes: ${{ steps.changes.outputs.has_code_changes }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
filters: |
has_code_changes:
- 'sentry_sdk/**'
- 'tests/**'
- 'scripts/**'
- '**/*.py'
- '**/*.cfg'
- '**/*.toml'
- '**/*.ini'
- 'Makefile'
- 'requirements*.txt'
- '.github/workflows/**'
test-common:
needs: changes
if: needs.changes.outputs.has_code_changes == 'true'
name: Common
timeout-minutes: 30
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -78,12 +101,14 @@ jobs:
verbose: true
check_required_tests:
name: All Common tests passed
needs: test-common
needs: [changes, test-common]
# Always run this, even if a dependent job failed
if: always()
runs-on: ubuntu-22.04
steps:
- name: Check for failures
if: needs.test-common.result != 'success'
if: |
needs.changes.result == 'failure' || needs.changes.result == 'cancelled' ||
needs.test-common.result == 'failure' || needs.test-common.result == 'cancelled'
run: |
echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1
29 changes: 27 additions & 2 deletions .github/workflows/test-integrations-dbs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,30 @@ env:
CACHED_BUILD_PATHS: |
${{ github.workspace }}/dist-serverless
jobs:
changes:
runs-on: ubuntu-22.04
outputs:
has_code_changes: ${{ steps.changes.outputs.has_code_changes }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
filters: |
has_code_changes:
- 'sentry_sdk/**'
- 'tests/**'
- 'scripts/**'
- '**/*.py'
- '**/*.cfg'
- '**/*.toml'
- '**/*.ini'
- 'Makefile'
- 'requirements*.txt'
- '.github/workflows/**'
test-dbs:
needs: changes
if: needs.changes.outputs.has_code_changes == 'true'
name: DBs
timeout-minutes: 30
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -118,12 +141,14 @@ jobs:
verbose: true
check_required_tests:
name: All DBs tests passed
needs: test-dbs
needs: [changes, test-dbs]
# Always run this, even if a dependent job failed
if: always()
runs-on: ubuntu-22.04
steps:
- name: Check for failures
if: needs.test-dbs.result != 'success'
if: |
needs.changes.result == 'failure' || needs.changes.result == 'cancelled' ||
needs.test-dbs.result == 'failure' || needs.test-dbs.result == 'cancelled'
run: |
echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1
Loading
Loading