Skip to content

add basic CI

add basic CI #4

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