Merge pull request #15 from wael-jaber/python #15
This file contains hidden or 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 | |
on: [push, pull_request] | |
jobs: | |
java: | |
name: Java Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Build and test with Maven | |
run: | | |
cd java | |
mvn clean test | |
- name: Generate JaCoCo coverage report | |
run: | | |
cd java | |
mvn jacoco:report | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v5 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
slug: wael-jaber/design_patterns | |
files: java/target/site/jacoco/jacoco.xml | |
flags: java | |
name: java-coverage | |
typescript: | |
name: TypeScript Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install pnpm | |
run: npm install -g pnpm | |
- name: Set up Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '18' | |
- name: Verify pnpm installation | |
run: pnpm --version | |
- name: Install dependencies | |
run: | | |
cd typescript | |
pnpm install --frozen-lockfile | |
- name: Run tests with coverage | |
run: | | |
cd typescript | |
pnpm coverage | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v5 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
slug: wael-jaber/design_patterns | |
files: typescript/coverage/lcov.info | |
flags: typescript | |
name: typescript-coverage | |
python: | |
name: Python Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
- name: Install dependencies | |
run: | | |
cd python | |
python -m venv venv | |
source venv/bin/activate | |
pip install --upgrade pip | |
pip install -r requirements.txt | |
- name: Run tests with coverage | |
run: | | |
cd python | |
source venv/bin/activate | |
pytest --cov=src --cov-report=xml tests | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v5 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
slug: wael-jaber/design_patterns | |
files: python/coverage.xml | |
flags: python | |
name: python-coverage |