diff --git a/.changeset/config.json b/.changeset/config.json index 6d2119a4..b64420f1 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -3,9 +3,9 @@ "changelog": "@changesets/cli/changelog", "commit": false, "fixed": [], - "linked": [], + "linked": [["@openstapps/*"]], "access": "restricted", - "baseBranch": "main", + "baseBranch": "master", "updateInternalDependencies": "patch", "ignore": [] } diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a1a02e86..4b898b06 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,10 +1,22 @@ -image: registry.gitlab.com/openstapps/projectmanagement/builder:v18 -include: '/backend/backend/.gitlab-ci.yml' - -#variables: -# GIT_CLEAN_FLAGS: -ffdx -e www/ +# `rules: if $CI_PIPELINE_SOURCE == 'merge_request_event'` seems to convert the whole +# workflow into a merge request pipeline, effectively removing all the jobs. +# To work around that, add: +# ``` +# rules: +# when: on_success +# ``` +# To your pipeline. +# https://docs.gitlab.com/ee/ci/pipelines/merge_request_pipelines.html#use-rules-to-add-jobs +include: + - local: /backend/backend/.gitlab-ci.yml + - local: /frontend/app/.gitlab-ci.yml + - local: /.gitlab/publishing.gitlab-ci.yml + rules: + - if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: never default: + image: registry.gitlab.com/openstapps/projectmanagement/builder:v18 tags: - performance interruptible: true @@ -22,10 +34,11 @@ default: policy: pull stages: + - version - build - - images - test - - deploy + - review + - publish build: stage: build @@ -38,28 +51,15 @@ build: artifacts: paths: - www - - ./**/.turbo/ - - ./backend/backend/lib - - ./backend/proxy/lib - - ./configuration/projectmanagement/lib - - ./examples/minimal-connector/lib - - ./examples/minimal-plugin/lib - - ./packages/api-cli/lib - - ./packages/api-plugin/lib - - ./packages/api/lib - - ./packages/collection-utils/lib - - ./packages/core-tools/lib - - ./packages/core/lib - - ./packages/easy-ast/lib - - ./packages/es-mapping-generator/lib - - ./packages/gitlab-api/lib - - ./packages/logger/lib cache: <<: *pnpm_cache policy: pull-push + rules: + - when: on_success unit: stage: test + needs: ['build'] script: - pnpm config set recursive-install false - pnpm i --prefer-offline @@ -77,71 +77,5 @@ unit: coverage_report: coverage_format: cobertura path: coverage.xml - -image:database: - stage: images - image: - name: gcr.io/kaniko-project/executor:v1.9.0-debug - entrypoint: [""] - before_script: [] - cache: [] - script: - - /kaniko/executor - --context "${CI_PROJECT_DIR}/backend/database" - --dockerfile "${CI_PROJECT_DIR}/backend/database/Dockerfile" - --destination "${CI_REGISTRY_IMAGE}/database:${CI_COMMIT_BRANCH}" - only: - refs: - - branches - changes: - - backend/database/**/* - -# TODO!! -# integration: -# stage: test -# variables: -# DOCKER_DRIVER: overlay2 -# services: -# - docker:dind -# script: -# - pnpm install -# - pnpm run test:integration -# tags: -# - gitlab-org-docker - -review: - stage: deploy - dependencies: - - build - script: - # TODO: - .gitlab/ci/enableGitlabReviewToolbar.sh www/index.html "$CI_PROJECT_ID" "$CI_OPEN_MERGE_REQUESTS" - - cp www/index.html www/200.html - - pnpm dlx surge -p ./www -d https://$CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh/ - environment: - name: review/$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_NAME - url: https://$CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh/ - on_stop: stop_review rules: - - if: ($CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_NAME != "main" && $CI_MERGE_REQUEST_EVENT_TYPE != "merge_train" && ($CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web")) - -stop_review: - stage: deploy - script: - - pnpm dlx surge teardown $CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh - when: manual - environment: - name: review/$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_NAME - action: stop - rules: - - if: ($CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_NAME != "main" && $CI_MERGE_REQUEST_EVENT_TYPE != "merge_train" && ($CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web")) - -# TODO!! -# pages:docs: -# stage: deploy -# script: -# - pnpm install -# - pnpm run docs -# - mv docs public -# artifacts: -# paths: -# - public + - when: on_success diff --git a/.gitlab/publishing.gitlab-ci.yml b/.gitlab/publishing.gitlab-ci.yml new file mode 100644 index 00000000..2288f48c --- /dev/null +++ b/.gitlab/publishing.gitlab-ci.yml @@ -0,0 +1,70 @@ +deploy: + stage: publish + needs: ['build'] + script: + - pnpm install + - pnpm run deploy + artifacts: + paths: + - ./.deploy + rules: + - if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: manual + - if: $CI_COMMIT_TAG + +publish images: + stage: publish + inherit: + default: + - tags + needs: ['deploy'] + image: + name: gcr.io/kaniko-project/executor:v1.9.0-debug + entrypoint: [""] + script: + - /kaniko/executor + --context "${CI_PROJECT_DIR}/${DEPLOY_DIR}" + --dockerfile "${CI_PROJECT_DIR}/${DEPLOY_DIR}/Dockerfile" + --destination "${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${DOCKER_TAG}" + rules: + - if: $CI_COMMIT_TAG + variables: + DOCKER_TAG: $CI_COMMIT_TAG + - if: $CI_PIPELINE_SOURCE == "merge_request_event" + variables: + DOCKER_TAG: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME + parallel: + matrix: + - DEPLOY_DIR: backend/database + IMAGE_NAME: database + - DEPLOY_DIR: .deploy/backend + IMAGE_NAME: backend + - DEPLOY_DIR: .deploy/proxy + IMAGE_NAME: proxy + +publish: + stage: publish + needs: ['deploy'] + script: + - pnpm install --prefer-offline + - pnpm build + - pnpm changeset version $PUBLISH_TYPE + - pnpm changeset publish + rules: + - if: $CI_PIPELINE_SOURCE == "merge_request_event" + variables: + PUBLISH_TYPE: --snapshot $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME + +pages:docs: + stage: publish + needs: ['deploy'] + script: + - pnpm install --prefer-offline + - pnpm run docs + - mv docs public + artifacts: + paths: + - public + rules: + - if: $CI_COMMIT_TAG + when: on_success diff --git a/.syncpackrc.cjs b/.syncpackrc.cjs index 69d21874..1f7c7891 100644 --- a/.syncpackrc.cjs +++ b/.syncpackrc.cjs @@ -36,19 +36,6 @@ const config = { packages: ['@openstapps/es-mapping-generator'], isIgnored: true, }, - /*{ - label: 'App Special Dependencies', - dependencies: ['typescript'], - packages: ['@openstapps/app'], - isIgnored: true, - },*/ - { - label: 'Should have the same version', - dependencies: ['**'], - dependencyTypes: ['workspace'], - packages: ['**'], - pinVersion: '3.0.0', - }, { label: 'Packages should use workspace version', dependencies: ['@openstapps/**'], @@ -56,12 +43,6 @@ const config = { packages: ['**'], pinVersion: 'workspace:*', }, - /*{ - label: 'Packages should be synced to app', - dependencies: ['typescript', 'ts-node'], - packages: ['**'], - snapTo: ['@openstapps/app'], - },*/ { label: 'App may have some dependency exceptions', dependencies: ['typescript', '@typescript-eslint/**', 'eslint**'], diff --git a/backend/backend/.gitlab-ci.yml b/backend/backend/.gitlab-ci.yml index 26b597e6..485af43d 100644 --- a/backend/backend/.gitlab-ci.yml +++ b/backend/backend/.gitlab-ci.yml @@ -1,6 +1,7 @@ -integration:backend: +integration: image: registry.gitlab.com/openstapps/projectmanagement/builder:v18 stage: test + needs: ['build'] variables: DOCKER_DRIVER: overlay2 WAIT_FOR_SERVICES_TIMEOUT: 1 @@ -8,10 +9,8 @@ integration:backend: - name: registry.gitlab.com/openstapps/database:latest alias: elasticsearch script: - - pnpm --filter=@openstapps/backend --filter=@openstapps/api-cli install --prefer-offline - - pnpm test:integration - tags: - - performance + - pnpm --filter=@openstapps/backend install --prefer-offline + - pnpm test:integration:backend artifacts: when: always paths: @@ -19,3 +18,5 @@ integration:backend: reports: junit: - backend/backend/coverage/integration-report-junit.xml + rules: + - when: on_success diff --git a/backend/backend/integration-test.yml b/backend/backend/integration-test.yml deleted file mode 100644 index 4e196d30..00000000 --- a/backend/backend/integration-test.yml +++ /dev/null @@ -1,32 +0,0 @@ -version: '3' -services: - backend: - build: - dockerfile: ./Dockerfile - context: ../../.deploy/backend - ports: - - '3000:3000' - environment: - STAPPS_LOG_LEVEL: '31' - STAPPS_EXIT_LEVEL: '8' - NODE_CONFIG_ENV: 'elasticsearch' - NODE_ENV: 'integration-test' - ALLOW_NO_TRANSPORT: 'true' - ES_ADDR: 'http://elasticsearch:9200' - command: wait-for http://elasticsearch:9200 -t 120 -- node app.js - - elasticsearch: - build: ../database - ports: - - '9200:9200' - - api-cli: - build: - dockerfile: ../../packages/api-cli/Dockerfile - context: ../../.deploy/api-cli - environment: - STAPPS_LOG_LEVEL: '31' - STAPPS_EXIT_LEVEL: '8' - volumes: - - ./node_modules/@openstapps/core/test/resources:/@openstapps/core/test/resources:ro - command: e2e http://backend:3000 --waiton tcp:backend:3000 --samples /@openstapps/core/test/resources/indexable diff --git a/backend/backend/package.json b/backend/backend/package.json index 00ae2b11..999ce28a 100644 --- a/backend/backend/package.json +++ b/backend/backend/package.json @@ -27,6 +27,7 @@ ], "scripts": { "build": "tsup-node", + "build:docker": "docker build -t openstapps:backend ../../.deploy/backend", "deploy": "pnpm --prod --filter=@openstapps/backend deploy ../../.deploy/backend", "dev": "tsup --watch --onSuccess \"pnpm run start\"", "format": "prettier . -c --ignore-path ../../.gitignore", diff --git a/backend/proxy/package.json b/backend/proxy/package.json index 578cac57..94ff83db 100644 --- a/backend/proxy/package.json +++ b/backend/proxy/package.json @@ -30,6 +30,8 @@ ], "scripts": { "build": "tsup-node --dts", + "build:docker": "docker build -t openstapps:proxy ../../.deploy/proxy", + "deploy": "pnpm --prod --filter=@openstapps/proxy deploy ../../.deploy/proxy", "format": "prettier . -c --ignore-path ../../.gitignore", "format:fix": "prettier --write . --ignore-path ../../.gitignore", "lint": "eslint --ext .ts src/", diff --git a/frontend/app/.gitlab-ci.yml b/frontend/app/.gitlab-ci.yml index a6a07d75..578473fd 100644 --- a/frontend/app/.gitlab-ci.yml +++ b/frontend/app/.gitlab-ci.yml @@ -1,226 +1,60 @@ -image: registry.gitlab.com/openstapps/app - -before_script: - - npm ci - -default: - tags: - - performance - interruptible: true - -stages: - - setup - - build - - test - - publish - - deploy - - ui test - -setup: - image: registry.gitlab.com/openstapps/projectmanagement/builder - stage: setup - only: - - schedules - variables: - DOCKER_DRIVER: overlay2 - services: - - docker:dind - script: - - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com - - docker build -t registry.gitlab.com/openstapps/app . - - docker push registry.gitlab.com/openstapps/app - cache: {} # disable irrelevant cache for this job - before_script: [] # do not run irrelevant before script for this job - tags: - - dind - interruptible: false - -build: - stage: build - script: - - npm run build - artifacts: - paths: - - www - except: - - schedules - -scheduled-build: - stage: build - script: - - npm run build - only: - - schedules - -lint: - stage: build - script: - - npm run lint - -format: - stage: build - script: - - npm run format:check - -unit: +e2e: + image: cypress/browsers:latest # https://hub.docker.com/r/cypress/browsers/tags/ stage: test + before_script: + - corepack enable + - corepack prepare pnpm@latest-8 --activate + - !reference [default, before_script] script: - - npm run check-icons - - npm run test -- --watch=false --no-progress --code-coverage - coverage: '/Statements[^:]*\:[^:]*\s+([\d\.]+)%/' + - pnpm --filter=@openstapps/app install --prefer-offline + - pnpm --filter=@openstapps/app exec cypress install + - pnpm test:integration:app artifacts: + when: always paths: - - coverage + - frontend/app/cypress/videos + - frontend/app/cypress/screenshots + - frontend/app/coverage/integration-report-junit.xml reports: - coverage_report: - coverage_format: cobertura - path: coverage/cobertura-coverage.xml - -.e2e-chrome: - image: registry.gitlab.com/openstapps/projectmanagement/cypress - stage: test - script: - - npm run e2e -- --watch=false --headless=true --browser=chrome - artifacts: - when: on_failure - paths: - - cypress/videos - - cypress/screenshots - -.e2e-firefox: - image: registry.gitlab.com/openstapps/projectmanagement/cypress - stage: test - script: - - npm run e2e -- --watch=false --headless=true --browser=firefox - artifacts: - when: on_failure - paths: - - cypress/videos - - cypress/screenshots - -ui-chrome: - extends: .e2e-chrome + junit: + - frontend/app/coverage/integration-report-junit.xml + parallel: + matrix: + - BROWSER: chrome + - BROWSER: firefox rules: - - if: $CI_PIPELINE_SOURCE == "merge_request_event" - when: never - - if: ($CI_COMMIT_REF_NAME == "develop" || $CI_COMMIT_REF_NAME == "main") - when: always - allow_failure: false - - if: ($CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_NAME != "main") - when: never - -ui-firefox: - extends: .e2e-firefox - rules: - - if: $CI_PIPELINE_SOURCE == "merge_request_event" - when: never - - if: ($CI_COMMIT_REF_NAME == "develop" || $CI_COMMIT_REF_NAME == "main") - when: always - allow_failure: false - - if: ($CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_NAME != "main") - when: never - -e2e-chrome: - extends: .e2e-chrome - stage: ui test - rules: - - if: $CI_PIPELINE_SOURCE == "merge_request_event" - when: never - - if: ($CI_COMMIT_REF_NAME == "develop" || $CI_COMMIT_REF_NAME == "main") - when: never - - if: ($CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_NAME != "main") - when: manual - allow_failure: false - -e2e-firefox: - extends: .e2e-firefox - stage: ui test - rules: - - if: $CI_PIPELINE_SOURCE == "merge_request_event" - when: never - - if: ($CI_COMMIT_REF_NAME == "develop" || $CI_COMMIT_REF_NAME == "main") - when: never - - if: ($CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_NAME != "main") - when: manual - allow_failure: false - -audit: - stage: test - script: - - npm audit - allow_failure: true - except: - - schedules - -scheduled-audit: - stage: test - script: - - npm audit --production - only: - - schedules - -pages: - stage: publish - script: - - npm run documentation - - mv docs public - only: - - main - except: - - schedules - artifacts: - paths: - - public + - when: on_success review: - stage: deploy + stage: review + needs: ['build'] script: - - npm run build:prod - - .gitlab/ci/enableGitlabReviewToolbar.sh www/index.html "$CI_PROJECT_ID" "$CI_OPEN_MERGE_REQUESTS" + # pretty sure this is deprecated? + # TODO: - .gitlab/ci/enableGitlabReviewToolbar.sh www/index.html "$CI_PROJECT_ID" "$CI_OPEN_MERGE_REQUESTS" - cp www/index.html www/200.html - - ./node_modules/.bin/surge -p ./www -d https://$CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh/ + - pnpm dlx surge -p ./www -d https://$CI_PROJECT_NAME-$DEPLOY_ID.surge.sh/ environment: - name: review/$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_NAME - url: https://$CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh/ - on_stop: stop_review - rules: - - if: ($CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_NAME != "main" && $CI_MERGE_REQUEST_EVENT_TYPE != "merge_train" && ($CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web")) + name: review/$DEPLOY_ID + url: https://$CI_PROJECT_NAME-$DEPLOY_ID.surge.sh/ + on_stop: stop review + rules: &deploy-rules + - if: $CI_PIPELINE_SOURCE == 'merge_request_event' + variables: + DEPLOY_ID: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME + - if: $CI_COMMIT_BRANCH == 'main' + variables: + DEPLOY_ID: production + - if: $CI_COMMIT_BRANCH == 'develop' + variables: + DEPLOY_ID: staging -stop_review: - stage: deploy +stop review: + stage: review + needs: ['review'] script: - - ./node_modules/.bin/surge teardown $CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh - when: manual + - pnpm dlx surge teardown $CI_PROJECT_NAME-$DEPLOY_ID.surge.sh environment: - name: review/$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_NAME + name: review/$DEPLOY_ID action: stop - rules: - - if: ($CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_NAME != "main" && $CI_MERGE_REQUEST_EVENT_TYPE != "merge_train" && ($CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web")) - -staging: - stage: deploy - script: - - npm run build:prod - - cp www/index.html www/200.html - - ./node_modules/.bin/surge -p ./www -d https://$CI_PROJECT_PATH_SLUG-staging.surge.sh/ - environment: - name: staging - url: https://$CI_PROJECT_PATH_SLUG-staging.surge.sh/ - only: - - develop - except: - - schedules - -production_demo: - stage: deploy - script: - - npm run build:prod - - cp www/index.html www/200.html - - ./node_modules/.bin/surge -p ./www -d https://$CI_PROJECT_PATH_SLUG.surge.sh/ - environment: - name: production - url: https://$CI_PROJECT_PATH_SLUG.surge.sh/ - only: - - main - except: - - schedules + when: manual + rules: *deploy-rules diff --git a/frontend/app/.gitlab-ci.yml.old b/frontend/app/.gitlab-ci.yml.old new file mode 100644 index 00000000..9297e585 --- /dev/null +++ b/frontend/app/.gitlab-ci.yml.old @@ -0,0 +1,30 @@ +build: + stage: build + script: + - npm run build + artifacts: + paths: + - www + except: + - schedules + +scheduled-build: + stage: build + script: + - npm run build + only: + - schedules + +unit: + stage: test + script: + - npm run check-icons + - npm run test -- --watch=false --no-progress --code-coverage + coverage: '/Statements[^:]*\:[^:]*\s+([\d\.]+)%/' + artifacts: + paths: + - coverage + reports: + coverage_report: + coverage_format: cobertura + path: coverage/cobertura-coverage.xml diff --git a/frontend/app/cypress.config.ts b/frontend/app/cypress.config.ts index 00f15f86..4554ca3a 100644 --- a/frontend/app/cypress.config.ts +++ b/frontend/app/cypress.config.ts @@ -17,6 +17,10 @@ import {defineConfig} from 'cypress'; export default defineConfig({ e2e: { + reporter: 'junit', + reporterOptions: { + mochaFile: 'coverage/integration-report-junit-[hash].xml', + }, baseUrl: 'http://localhost:4200', supportFile: 'cypress/support/index.ts', videosFolder: 'cypress/videos', diff --git a/frontend/app/integration-test.sh b/frontend/app/integration-test.sh new file mode 100644 index 00000000..456a433d --- /dev/null +++ b/frontend/app/integration-test.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +rm coverage/integration-report-junit-*.xml + +ng e2e --watch=false --headless=true --browser="$BROWSER" +exit_code=$? + +jrm coverage/integration-report-junit.xml coverage/integration-report-junit-*.xml +rm coverage/integration-report-junit-*.xml + +exit $exit_code diff --git a/frontend/app/package.json b/frontend/app/package.json index fc164a12..49c6f445 100644 --- a/frontend/app/package.json +++ b/frontend/app/package.json @@ -46,7 +46,8 @@ "start": "ionic serve", "start:external": "ionic serve --external", "start:prod": "ionic serve --prod", - "test": "ng test" + "test": "ng test", + "test:integration": "sh integration-test.sh" }, "dependencies": { "@angular/animations": "13.3.11", @@ -153,6 +154,7 @@ "jasmine-core": "4.5.0", "jasmine-spec-reporter": "7.0.0", "jetifier": "2.0.0", + "junit-report-merger": "6.0.2", "karma": "6.4.1", "karma-chrome-launcher": "3.1.1", "karma-coverage-istanbul-reporter": "3.0.3", diff --git a/package.json b/package.json index 1a2c1ccf..c27f62cb 100644 --- a/package.json +++ b/package.json @@ -3,25 +3,27 @@ "version": "3.0.0", "scripts": { "build": "dotenv -c -- turbo run build", - "build:docker-workspace": "docker build -t openstapps:workspace .", "build:full": "dotenv -c -- turbo run syncpack build lint format --summarize", "build:full:skip": "dotenv -c -- turbo-ignore --task='build lint format'", + "deploy": "dotenv -c -- turbo run deploy --concurrency=1", "dev": "dotenv -c -- turbo run dev", "docs": "dotenv -c -- turbo run docs && typedoc", "format": "dotenv -c -- turbo run format", "format:fix": "dotenv -c -- turbo run format:fix", "lint": "dotenv -c -- turbo run lint", "lint:fix": "dotenv -c -- turbo run lint:fix", - "publish-packages": "dotenv -c -- turbo run build format lint test && changeset version && changeset publish", "syncpack": "syncpack list-mismatches && syncpack lint-semver-ranges", "syncpack:fix": "syncpack format && syncpack fix-mismatches", "test": "trap 'node coverage.mjs' EXIT && dotenv -c -- turbo run test --filter=!@openstapps/app", "test:integration": "dotenv -c -- turbo run test:integration", + "test:integration:app": "dotenv -c -- turbo run test:integration --filter=@openstapps/app", + "test:integration:backend": "dotenv -c -- turbo run test:integration --filter=@openstapps/backend", "test:skip": "dotenv -c -- turbo-ignore --task='test' --filter=!@openstapps/app", "turboify-pipeline": "node deploy.mjs backend,api-cli,database && pnpm build:full && pnpm test && pnpm run docs" }, "devDependencies": { "@changesets/cli": "2.26.1", + "@changesets/types": "5.2.1", "cobertura-merge": "1.0.4", "deepmerge": "4.3.1", "dotenv-cli": "7.2.1", diff --git a/packages/api-cli/Dockerfile b/packages/api-cli/Dockerfile deleted file mode 100644 index 2a474bc6..00000000 --- a/packages/api-cli/Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM registry.gitlab.com/openstapps/projectmanagement/node:v18 - -USER node -ENV NODE_ENV=production -WORKDIR /app - -COPY --chown=node:node . . - -EXPOSE 3000 -ENTRYPOINT ["node", "app.js"] diff --git a/packages/api-cli/package.json b/packages/api-cli/package.json index 47e09fe3..070d733e 100644 --- a/packages/api-cli/package.json +++ b/packages/api-cli/package.json @@ -26,7 +26,6 @@ ], "scripts": { "build": "tsup-node", - "deploy": "pnpm --prod --filter=@openstapps/api-cli deploy ../../.deploy/api-cli", "format": "prettier . -c --ignore-path ../../.gitignore", "format:fix": "prettier --write . --ignore-path ../../.gitignore", "lint": "tsc --noEmit && eslint --ext .ts src/", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index de8f1a1c..0f2a0e47 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@changesets/cli': specifier: 2.26.1 version: 2.26.1 + '@changesets/types': + specifier: 5.2.1 + version: 5.2.1 cobertura-merge: specifier: 1.0.4 version: 1.0.4 @@ -1021,6 +1024,9 @@ importers: jetifier: specifier: 2.0.0 version: 2.0.0 + junit-report-merger: + specifier: 6.0.2 + version: 6.0.2 karma: specifier: 6.4.1 version: 6.4.1 diff --git a/turbo.json b/turbo.json index 2f45e935..ac31070a 100644 --- a/turbo.json +++ b/turbo.json @@ -5,12 +5,9 @@ "outputs": ["lib/**", "www/**", ".angular/**"], "cache": true }, - "build:docker": { - "dependsOn": ["//#build:docker-workspace"], - "cache": false - }, "deploy": { - "dependsOn": ["build", "^deploy"] + "dependsOn": ["build", "^deploy"], + "cache": false }, "docs": { "dependsOn": ["build", "^docs"],