chore(deps): update dependency @ngneat/spectator to v17 #2785
Workflow file for this run
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 | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
jobs: | |
main: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Ensure Conventional Commits | |
uses: webiny/[email protected] | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'npm' | |
- run: npm ci | |
- uses: nrwl/nx-set-shas@v3 | |
- name: Check Formatting | |
run: | | |
if [[ $(npx nx format:check) ]]; then | |
npx prettier -w . | |
git diff --color | cat | |
exit 1 | |
fi | |
- name: Lint | |
run: npx nx affected --target=lint --parallel=3 | |
- name: Run all tests | |
if: github.event_name == 'push' | |
run: npx nx run-many --all --target=test --parallel --ci --coverage --coverageReporters=lcov | |
- name: Run affected tests | |
if: github.event_name == 'pull_request' | |
run: npx nx affected --target=test --parallel --ci --coverage --coverageReporters=lcov | |
- name: Merge Coverage files | |
run: '[ -d "./coverage/" ] && ./node_modules/.bin/lcov-result-merger ./coverage/**/lcov.info ./coverage/lcov.info || exit 0' | |
- name: Create Environments | |
run: | | |
envsubst < apps/spa/src/environments/environment.template > apps/spa/src/environments/environment.ts | |
envsubst < apps/api/src/app/environment.template > apps/api/src/app/environment.ts | |
env: | |
IS_PRODUCTION: true | |
ENVIRONMENT_NAME: 'ci' | |
RELEASE_VERSION: ${{ github.sha }} | |
- name: Build | |
run: | | |
npx nx run-many -t build --all --parallel=3 | |
docker build -t kordis-api:${{ github.sha }} -f ./apps/api/Dockerfile --build-arg NODE_VERSION=$(cat .nvmrc | tr -cd '[:digit:].') . & | |
docker build -t kordis-spa:${{ github.sha }} -f ./apps/spa/docker/Dockerfile . & | |
wait | |
- name: Install Chromium for E2Es | |
run: npx -y playwright install chromium | |
- name: Start and prepare MongoDB for E2Es | |
run: ./tools/db/kordis-db.sh init e2edb | |
- name: Start API and SPA containers | |
run: | | |
docker run -d -p 3000:3333 -e MONGODB_URI=mongodb://host.docker.internal:27017/e2edb kordis-api:${{ github.sha }} | |
docker run -d -p 4200:8080 -e API_URL=http://localhost:3000 -e AUTH_PROVIDER=dev kordis-spa:${{ github.sha }} | |
- name: Run E2Es | |
run: npx wait-on -t 30s tcp:3000 && npx wait-on -t 30s http://localhost:4200 && npx nx e2e spa-e2e --skipInstall | |
env: | |
E2E_BASE_URL: http://localhost:4200/ | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: e2e-test-results | |
path: test-results/ | |
if-no-files-found: ignore | |
- name: SonarCloud Scan | |
uses: sonarsource/sonarcloud-github-action@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |