Skip to content

improvement: refactor review api to clean architecture #47

improvement: refactor review api to clean architecture

improvement: refactor review api to clean architecture #47

Workflow file for this run

name: Pipeline for testing
on:
pull_request:
jobs:
test:
name: Course compose CI/CD testing
runs-on: ubuntu-latest
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
outputs:
packages_deployment: ${{ steps.generate-deployment.outputs.PACKAGES_DEPLOYMENT }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup pnpm
uses: pnpm/action-setup@v2.2.2
with:
version: 8
run_install: false
- name: Install turbo
run: pnpm install --global turbo
- name: Install jest
working-directory: ./apps/course-api
run: pnpm add --save-dev jest @types/jest ts-jest
- name: Setup Go 1.21.5
uses: actions/setup-go@v4
with:
go-version: "1.21.5"
- name: Generate Go ORM
working-directory: ./apps/reviews-api
run: pnpm run bootstrap # triggers only in reviews-api
- name: Unit test
run: pnpm run unit
- name: Integration test
run: pnpm run integration
- name: Test
run: pnpm run test
- name: Generate Packages Deployment for test build
id: generate-deployment
run: |
packages_deployment=$(pnpm turbo run build --filter='...[origin/main~1]' --dry=json | jq -c '.packages | map(select(. != "//"))' | jq -c 'map({name: ., imageTag:"ghcr.io/stamford-syntax-club/course-compose:\(.)-${{ env.GITHUB_SHA }}"})')
echo "PACKAGES_DEPLOYMENT=$packages_deployment" >> $GITHUB_OUTPUT
deploy-ghcr:
needs: test
if: ${{ needs.test.outputs.packages_deployment != '[]' }}
uses: ./.github/workflows/deploy-ghcr.yaml
with:
packages_deployment: ${{ needs.test.outputs.packages_deployment }}
environment: test
push_to_ghcr: false