Skip to content

add builder pattern to python patterns plus associated tests #21

add builder pattern to python patterns plus associated tests

add builder pattern to python patterns plus associated tests #21

Workflow file for this run

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