Commit 264c6b19 authored by Ategon Dev's avatar Ategon Dev
Browse files

Merge branch canvas:main into main

parents 59e90677 0d9dcf3d
Loading
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -9,3 +9,4 @@ Dockerfile
.gitignore
.vscode
**/.env*
.gitlab-ci.yml
 No newline at end of file

.eslintrc.json

0 → 100644
+9 −0
Original line number Diff line number Diff line
{
  "root": true,
  "ignorePatterns": ["node_modules", "packages/**/dist"],
  "plugins": ["simple-import-sort"],
  "rules": {
    "simple-import-sort/imports": "error",
    "simple-import-sort/exports": "error"
  }
}

.gitlab-ci.yml

0 → 100644
+75 −0
Original line number Diff line number Diff line
stages:
  - lint
  - build
  - test
  - deploy

include:
  - component: sc07.dev/sc07/ci/wiki@main
    inputs:
      wiki_token: $CI_TOKEN

eslint client:
  stage: lint
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
      changes:
        - packages/client/src/**/*
  image: node:23-alpine
  script:
    - npm i --include=dev
    - npm -w packages/client run lint
  artifacts:
    reports:
      codequality: packages/client/gl-codequality.json

eslint server:
  stage: lint
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
      changes:
        - packages/server/src/**/*
  image: node:23-alpine
  script:
    - npm i --include=dev
    - npm -w packages/server run lint
  artifacts:
    reports:
      codequality: packages/server/gl-codequality.json

jest server:
  stage: test
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
      changes:
        - packages/server/src/**/*
  image: node:23-alpine
  services:
    - name: postgres:14-alpine
      alias: postgres
      variables:
        POSTGRES_DB: canvas
        POSTGRES_USER: canvas
        POSTGRES_PASSWORD: canvas
        POSTGRES_HOST_AUTH_METHOD: trust
  variables:
    DATABASE_URL: postgres://canvas@postgres/canvas
  script:
    - apk update && apk add git
    - npm i --include=dev
    - npx -w packages/server prisma migrate reset --force
    - npm -w packages/server run test:ci
  coverage: /All\sfiles.*?\s+([\d\.]+)/
  artifacts:
    reports:
      coverage_report:
        coverage_format: cobertura
        path: packages/server/coverage/cobertura-coverage.xml

deploy:
  stage: deploy
  trigger:
    include: .gitlab/ci/deploy.yml
  allow_failure: true
  rules:
    - if: $CI_PIPELINE_SOURCE != "merge_request_event" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH

.gitlab/ci/deploy.yml

0 → 100644
+33 −0
Original line number Diff line number Diff line
variables:
  REGISTRY: registry.sc07.dev
  IMAGE_NAME: sc07/canvas:edge

publish:
  stage: build
  tags:
    - red
  interruptible: true
  before_script:
    - echo $PAT | docker login $REGISTRY -u $GITLAB_USER_LOGIN --password-stdin
  script:
    - |
      docker build --tag $REGISTRY/$IMAGE_NAME \
      --build-arg VERSION=$CI_COMMIT_SHA \
      --build-arg SENTRY_URL=$SENTRY_URL \
      --build-arg SENTRY_ORG=$SENTRY_ORG \
      --build-arg CLIENT_SENTRY_PROJECT=$CLIENT_SENTRY_PROJECT \
      --build-arg CLIENT_SENTRY_DSN=$CLIENT_SENTRY_DSN \
      --build-arg SERVER_SENTRY_PROJECT=$SERVER_SENTRY_PROJECT \
      --build-arg SERVER_SENTRY_DSN=$SERVER_SENTRY_DSN \
      --build-arg SENTRY_AUTH_TOKEN=$SENTRY_AUTH_TOKEN .
    - docker push $REGISTRY/$IMAGE_NAME

deploy:
  stage: deploy
  tags:
    - red
  interruptible: true
  script:
    - cd $WORK_DIR
    - docker compose pull
    - docker compose up -d

.gitlab/ci/wiki.yml

0 → 100644
+16 −0
Original line number Diff line number Diff line
# sync /doc/ to internal wiki repo for UI access
# see #151
build-wiki:
  image: alpine
  stage: build
  before_script:
    - apk add --no-cache git git-subtree
  script:
    - git config user.email "ci@sc07.company"
    - git config user.name "ci"
    - git remote remove gitlab-wiki || true
    - git remote add gitlab-wiki "https://ci:$CI_TOKEN@sc07.dev/sc07/canvas.wiki.git"
    - git status
    - git checkout main
    - git pull --rebase
    - git push gitlab-wiki `git subtree split -P doc main`:main --force
Loading