-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add github action job to run outages test
- Loading branch information
1 parent
94df6ed
commit 4402517
Showing
1 changed file
with
82 additions
and
2 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,7 +20,8 @@ on: | |
|
||
|
||
jobs: | ||
run-it-tests-job: | ||
integration-test-job: | ||
name: Run integration tests | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
|
@@ -55,14 +56,93 @@ jobs: | |
run: | | ||
bash bin/deploy.sh | ||
- name: Save Cloud Pod | ||
run: | | ||
localstack pod save serverless-quiz-app-ci | ||
env: | ||
LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} | ||
|
||
- name: Run Tests | ||
env: | ||
AWS_DEFAULT_REGION: us-east-1 | ||
AWS_REGION: us-east-1 | ||
AWS_ACCESS_KEY_ID: test | ||
AWS_SECRET_ACCESS_KEY: test | ||
run: | | ||
pytest tests/test_infra.py | ||
- name: Show localstack logs | ||
if: always() | ||
run: | | ||
localstack logs | ||
- name: Send a Slack notification | ||
if: failure() || github.event_name != 'pull_request' | ||
uses: ravsamhq/notify-slack-action@v2 | ||
with: | ||
status: ${{ job.status }} | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
notification_title: "{workflow} has {status_message}" | ||
message_format: "{emoji} *{workflow}* {status_message} in <{repo_url}|{repo}>" | ||
footer: "Linked Repo <{repo_url}|{repo}> | <{run_url}|View Workflow run>" | ||
notify_when: "failure" | ||
env: | ||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | ||
|
||
- name: Generate a Diagnostic Report | ||
if: failure() | ||
run: | | ||
curl -s localhost:4566/_localstack/diagnose | gzip -cf > diagnose.json.gz | ||
- name: Upload the Diagnostic Report | ||
if: failure() | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: diagnose.json.gz | ||
path: ./diagnose.json.gz | ||
|
||
outage-test-job: | ||
name: Run outages test | ||
needs: integration-test-job | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Set up Python 3.11 | ||
id: setup-python | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: 3.11 | ||
|
||
- name: Set up Dependencies | ||
run: | | ||
pip install requests boto3 pytest | ||
- name: Start LocalStack | ||
uses: LocalStack/[email protected] | ||
with: | ||
image-tag: 'latest' | ||
use-pro: 'true' | ||
configuration: LS_LOG=trace | ||
install-awslocal: 'true' | ||
env: | ||
LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} | ||
|
||
- name: Load Cloud Pod | ||
run: | | ||
localstack pod load serverless-quiz-app-ci | ||
env: | ||
LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} | ||
|
||
- name: Run Tests | ||
env: | ||
AWS_DEFAULT_REGION: us-east-1 | ||
AWS_REGION: us-east-1 | ||
AWS_ACCESS_KEY_ID: test | ||
AWS_SECRET_ACCESS_KEY: test | ||
run: | | ||
pytest -v | ||
pytest tests/test_outage.py | ||
- name: Show localstack logs | ||
if: always() | ||
|