fix tests #61
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
name: CI/CD Workflow | |
on: [push, pull_request] | |
env: | |
# Twitch Developer Credentials | |
CLIENT_ID: ${{ secrets.CLIENT_ID }} | |
CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }} | |
# Twitch Bot User Credentials | |
BOT_USER_ID: ${{ vars.BOT_USER_ID }} | |
BOT_OAUTH_TOKEN: ${{ secrets.BOT_OAUTH_TOKEN }} | |
# Virus Total Developer API Key | |
VIRUS_TOTAL_API_KEY: ${{ secrets.VIRUS_TOTAL_API_KEY }} | |
# AWS Credentials | |
REGION_NAME: ${{ vars.REGION_NAME }} | |
AWS_REGION: ${{ vars.AWS_REGION }} | |
AWS_DEFAULT_REGION: ${{ vars.AWS_DEFAULT_REGION }} | |
API_GATEWAY_INVOKE_URL: ${{ vars.API_GATEWAY_INVOKE_URL }} | |
API_GATEWAY_ROUTE: ${{ vars.API_GATEWAY_ROUTE }} | |
jobs: | |
setup: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Install poetry | |
run: | | |
python -m pip install poetry | |
- name: Configure poetry | |
run: | | |
poetry config virtualenvs.in-project true | |
- name: Install dependencies | |
run: | | |
poetry install --with dev | |
- name: Run isort | |
id: isort | |
uses: isort/isort-action@master | |
with: | |
configuration: "--check-only --diff" | |
sortPaths: "." | |
- name: Run black | |
uses: psf/black@stable | |
with: | |
options: "--check --diff --verbose --color" | |
src: "." | |
summary: true | |
tests: | |
name: Test | |
runs-on: ubuntu-latest | |
needs: setup | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Install poetry | |
run: | | |
python -m pip install poetry | |
- name: Configure poetry | |
run: | | |
poetry config virtualenvs.in-project true | |
- name: Install dependencies | |
run: | | |
poetry install --with dev | |
- name: Run coverage | |
run: | | |
coverage run -m pytest | tee coverage_output.txt | |
- name: Run tests | |
run: | | |
poetry run pytest --tb=short --disable-pytest-warnings | tee pytest_output.txt | |
- name: Display test results in summary | |
if: always() | |
run: | | |
echo "### 🎉 Test Summary Report 🎉" >> $GITHUB_STEP_SUMMARY | |
echo "" >> $GITHUB_STEP_SUMMARY | |
# Display results in table format | |
echo "| Status | Test |" >> $GITHUB_STEP_SUMMARY | |
echo "| ------ | ---- |" >> $GITHUB_STEP_SUMMARY | |
# Determine the overall result | |
if grep -q "failed" pytest_output.txt; then | |
echo "| ❌ | Some tests failed |" >> $GITHUB_STEP_SUMMARY | |
else | |
echo "| ✅ | All tests passed |" >> $GITHUB_STEP_SUMMARY | |
fi | |
# Add coverage output | |
echo "" >> $GITHUB_STEP_SUMMARY | |
echo "### 🚧 Coverage Output 🚧" >> $GITHUB_STEP_SUMMARY | |
echo '```' >> $GITHUB_STEP_SUMMARY | |
cat coverage_output.txt >> $GITHUB_STEP_SUMMARY | |
echo '```' >> $GITHUB_STEP_SUMMARY | |
# Add full detailed output | |
echo "" >> $GITHUB_STEP_SUMMARY | |
echo "### 📜 Detailed Output 📜" >> $GITHUB_STEP_SUMMARY | |
echo '```' >> $GITHUB_STEP_SUMMARY | |
cat pytest_output.txt >> $GITHUB_STEP_SUMMARY | |
echo '```' >> $GITHUB_STEP_SUMMARY |