Skip to content

Add distribution channel smoke test #276

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 23, 2021
Merged
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
19 changes: 19 additions & 0 deletions .github/workflows/continuous-monitoring.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Continuous monitoring of distribution channels
on:
workflow_dispatch:
schedule:
- cron: '0 */6 * * *'

jobs:
smoke-tests:
name: Run smoke tests
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.x'
- run: pip install tox
- name: Run smoke tests
run: tox -c tox-distributioncheck.ini
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do we get notified if the workflow fails? Whom does GH sends notification to in case of a cron job?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've sent a few similar PRs, but they're just establishing the build, notification is the next step. I think notification will be literally copy paste of the exact same code for all repos so can follow up with it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can probably add like binary metric (PythonSDKDistributionAvailabilityFailure) which publishes value based on Run smoke tests is passed or not and then we can set alarms on that for notifications. I think that would be a good notification model. I agree with @anuraaga notifications can be next step.

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,5 @@ pip-selfcheck.json

.coverage*
htmlcov

venv
Empty file.
5 changes: 5 additions & 0 deletions tests/distributioncheck/test_sanity.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from aws_xray_sdk.core.models.segment import Segment

def test_create_segment():
segment = Segment('test')
assert segment.name == 'test'
9 changes: 9 additions & 0 deletions tox-distributioncheck.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[tox]
skipsdist = true

[testenv:distribution-check]
deps =
pytest > 5.2.0
aws-xray-sdk
commands =
pytest tests/distributioncheck