Merge branch 'develop' into renovate/vite-5.x
This commit is contained in:
commit
dbc24a0b8f
5 changed files with 363 additions and 388 deletions
122
.gitlab-ci.yml
122
.gitlab-ci.yml
|
@ -10,30 +10,24 @@ services:
|
||||||
|
|
||||||
workflow:
|
workflow:
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_PROJECT_PATH == 'firefish/firefish'
|
- if: $CI_PROJECT_PATH == 'firefish/firefish' || $CI_MERGE_REQUEST_PROJECT_PATH == 'firefish/firefish'
|
||||||
when: always
|
|
||||||
- if: $CI_MERGE_REQUEST_PROJECT_PATH == 'firefish/firefish'
|
|
||||||
when: always
|
|
||||||
- if: $CI_PROJECT_PATH != 'firefish/firefish'
|
|
||||||
changes:
|
changes:
|
||||||
paths:
|
paths:
|
||||||
- .gitlab-ci.yml
|
- packages/**/*
|
||||||
when: never
|
- locales/**/*
|
||||||
|
- scripts/**/*
|
||||||
|
- package.json
|
||||||
|
- Cargo.toml
|
||||||
|
- Cargo.lock
|
||||||
|
- Dockerfile
|
||||||
|
- .dockerignore
|
||||||
|
when: always
|
||||||
- when: never
|
- when: never
|
||||||
|
|
||||||
cache:
|
|
||||||
paths:
|
|
||||||
- node_modules
|
|
||||||
# - /usr/local/cargo/registry/index
|
|
||||||
# - /usr/local/cargo/registry/cache
|
|
||||||
- target/debug/deps
|
|
||||||
- target/debug/build
|
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- dependency
|
- dependency
|
||||||
- test
|
- test
|
||||||
- build
|
- build
|
||||||
- scan
|
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
POSTGRES_DB: 'firefish_db'
|
POSTGRES_DB: 'firefish_db'
|
||||||
|
@ -45,6 +39,7 @@ variables:
|
||||||
CARGO_PROFILE_DEV_LTO: 'off'
|
CARGO_PROFILE_DEV_LTO: 'off'
|
||||||
CARGO_PROFILE_DEV_DEBUG: 'none'
|
CARGO_PROFILE_DEV_DEBUG: 'none'
|
||||||
CARGO_TERM_COLOR: 'always'
|
CARGO_TERM_COLOR: 'always'
|
||||||
|
GIT_CLEAN_FLAGS: -ffdx -e node_modules/ -e built/ -e target/ -e packages/backend-rs/built/
|
||||||
|
|
||||||
default:
|
default:
|
||||||
before_script:
|
before_script:
|
||||||
|
@ -67,13 +62,10 @@ test:build:
|
||||||
- if: $CI_COMMIT_BRANCH == 'develop' || $CI_PIPELINE_SOURCE == 'merge_request_event'
|
- if: $CI_COMMIT_BRANCH == 'develop' || $CI_PIPELINE_SOURCE == 'merge_request_event'
|
||||||
changes:
|
changes:
|
||||||
paths:
|
paths:
|
||||||
- packages/backend/*
|
- packages/backend-rs/**/*
|
||||||
- packages/backend-rs/*
|
- packages/macro-rs/**/*
|
||||||
- packages/macro-rs/*
|
|
||||||
- packages/megalodon/*
|
|
||||||
- scripts/**/*
|
- scripts/**/*
|
||||||
- package.json
|
- package.json
|
||||||
- pnpm-lock.yaml
|
|
||||||
- Cargo.toml
|
- Cargo.toml
|
||||||
- Cargo.lock
|
- Cargo.lock
|
||||||
when: always
|
when: always
|
||||||
|
@ -87,6 +79,42 @@ test:build:
|
||||||
- pnpm run build:debug
|
- pnpm run build:debug
|
||||||
- pnpm run migrate
|
- pnpm run migrate
|
||||||
|
|
||||||
|
test:build:backend_ts_only:
|
||||||
|
stage: test
|
||||||
|
rules:
|
||||||
|
- if: $TEST == 'false'
|
||||||
|
when: never
|
||||||
|
- if: $CI_COMMIT_BRANCH == 'develop' || $CI_PIPELINE_SOURCE == 'merge_request_event'
|
||||||
|
changes:
|
||||||
|
paths:
|
||||||
|
- packages/backend-rs/**/*
|
||||||
|
- packages/macro-rs/**/*
|
||||||
|
- scripts/**/*
|
||||||
|
- package.json
|
||||||
|
- Cargo.toml
|
||||||
|
- Cargo.lock
|
||||||
|
when: never
|
||||||
|
- if: $CI_COMMIT_BRANCH == 'develop' || $CI_PIPELINE_SOURCE == 'merge_request_event'
|
||||||
|
changes:
|
||||||
|
paths:
|
||||||
|
- packages/backend/**/*
|
||||||
|
- packages/megalodon/**/*
|
||||||
|
when: always
|
||||||
|
before_script:
|
||||||
|
- apt-get update && apt-get -y upgrade
|
||||||
|
- apt-get -y --no-install-recommends install curl
|
||||||
|
- curl -fsSL 'https://deb.nodesource.com/setup_18.x' | bash -
|
||||||
|
- apt-get install -y --no-install-recommends build-essential python3 nodejs postgresql-client
|
||||||
|
- corepack enable
|
||||||
|
- corepack prepare pnpm@latest --activate
|
||||||
|
- cp .config/ci.yml .config/default.yml
|
||||||
|
- export PGPASSWORD="${POSTGRES_PASSWORD}"
|
||||||
|
- psql --host postgres --user "${POSTGRES_USER}" --dbname "${POSTGRES_DB}" --command 'CREATE EXTENSION pgroonga'
|
||||||
|
script:
|
||||||
|
- pnpm install --frozen-lockfile
|
||||||
|
- pnpm --filter 'backend' --filter 'megalodon' run build:debug
|
||||||
|
- pnpm run migrate
|
||||||
|
|
||||||
test:build:client_only:
|
test:build:client_only:
|
||||||
stage: test
|
stage: test
|
||||||
rules:
|
rules:
|
||||||
|
@ -95,22 +123,19 @@ test:build:client_only:
|
||||||
- if: $CI_COMMIT_BRANCH == 'develop' || $CI_PIPELINE_SOURCE == 'merge_request_event'
|
- if: $CI_COMMIT_BRANCH == 'develop' || $CI_PIPELINE_SOURCE == 'merge_request_event'
|
||||||
changes:
|
changes:
|
||||||
paths:
|
paths:
|
||||||
- packages/backend/*
|
- packages/backend-rs/**/*
|
||||||
- packages/backend-rs/*
|
- packages/macro-rs/**/*
|
||||||
- packages/macro-rs/*
|
|
||||||
- packages/megalodon/*
|
|
||||||
- scripts/**/*
|
- scripts/**/*
|
||||||
- package.json
|
- package.json
|
||||||
- pnpm-lock.yaml
|
|
||||||
- Cargo.toml
|
- Cargo.toml
|
||||||
- Cargo.lock
|
- Cargo.lock
|
||||||
when: never
|
when: never
|
||||||
- if: $CI_COMMIT_BRANCH == 'develop' || $CI_PIPELINE_SOURCE == 'merge_request_event'
|
- if: $CI_COMMIT_BRANCH == 'develop' || $CI_PIPELINE_SOURCE == 'merge_request_event'
|
||||||
changes:
|
changes:
|
||||||
paths:
|
paths:
|
||||||
- packages/client/*
|
- packages/client/**/*
|
||||||
- packages/firefish-js/*
|
- packages/firefish-js/**/*
|
||||||
- packages/sw/*
|
- packages/sw/**/*
|
||||||
- locales/**/*
|
- locales/**/*
|
||||||
when: always
|
when: always
|
||||||
services: []
|
services: []
|
||||||
|
@ -140,7 +165,6 @@ build:container:
|
||||||
- locales/**/*
|
- locales/**/*
|
||||||
- scripts/copy-assets.mjs
|
- scripts/copy-assets.mjs
|
||||||
- package.json
|
- package.json
|
||||||
- pnpm-lock.yaml
|
|
||||||
- Cargo.toml
|
- Cargo.toml
|
||||||
- Cargo.lock
|
- Cargo.lock
|
||||||
- Dockerfile
|
- Dockerfile
|
||||||
|
@ -149,6 +173,8 @@ build:container:
|
||||||
needs:
|
needs:
|
||||||
- job: test:build
|
- job: test:build
|
||||||
optional: true
|
optional: true
|
||||||
|
- job: test:build:backend_ts_only
|
||||||
|
optional: true
|
||||||
- job: test:build:client_only
|
- job: test:build:client_only
|
||||||
optional: true
|
optional: true
|
||||||
before_script:
|
before_script:
|
||||||
|
@ -234,39 +260,3 @@ renovate:
|
||||||
before_script: []
|
before_script: []
|
||||||
script:
|
script:
|
||||||
- renovate --platform gitlab --token "${API_TOKEN}" --endpoint "${CI_SERVER_URL}/api/v4" "${CI_PROJECT_PATH}"
|
- renovate --platform gitlab --token "${API_TOKEN}" --endpoint "${CI_SERVER_URL}/api/v4" "${CI_PROJECT_PATH}"
|
||||||
|
|
||||||
sast:
|
|
||||||
stage: scan
|
|
||||||
services: []
|
|
||||||
before_script: []
|
|
||||||
variables:
|
|
||||||
SAST_EXCLUDED_PATHS: .git,.config,.gitlab,.vscode,ci,custom,dev,docs,locales,node_modules,target
|
|
||||||
|
|
||||||
container_scanning:
|
|
||||||
stage: scan
|
|
||||||
services: []
|
|
||||||
before_script: []
|
|
||||||
rules:
|
|
||||||
- if: $BUILD == 'false'
|
|
||||||
when: never
|
|
||||||
- if: $CI_COMMIT_BRANCH == 'develop'
|
|
||||||
changes:
|
|
||||||
paths:
|
|
||||||
- packages/**/*
|
|
||||||
- locales/**/*
|
|
||||||
- scripts/copy-assets.mjs
|
|
||||||
- package.json
|
|
||||||
- pnpm-lock.yaml
|
|
||||||
- Cargo.toml
|
|
||||||
- Cargo.lock
|
|
||||||
- Dockerfile
|
|
||||||
- .dockerignore
|
|
||||||
when: always
|
|
||||||
needs:
|
|
||||||
- build:container
|
|
||||||
variables:
|
|
||||||
CS_IMAGE: "${CI_REGISTRY}/${CI_PROJECT_PATH}/develop:not-for-production"
|
|
||||||
|
|
||||||
include:
|
|
||||||
- template: Security/SAST.gitlab-ci.yml
|
|
||||||
- template: Jobs/Container-Scanning.gitlab-ci.yml
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ RUN curl --proto '=https' --tlsv1.2 --silent --show-error --fail https://sh.rust
|
||||||
ENV PATH="/root/.cargo/bin:${PATH}"
|
ENV PATH="/root/.cargo/bin:${PATH}"
|
||||||
|
|
||||||
# Copy only backend-rs dependency-related files first, to cache efficiently
|
# Copy only backend-rs dependency-related files first, to cache efficiently
|
||||||
COPY package.json pnpm*.yaml ./
|
COPY package.json pnpm-workspace.yaml ./
|
||||||
COPY packages/backend-rs/package.json packages/backend-rs/package.json
|
COPY packages/backend-rs/package.json packages/backend-rs/package.json
|
||||||
COPY packages/backend-rs/npm/linux-x64-musl/package.json packages/backend-rs/npm/linux-x64-musl/package.json
|
COPY packages/backend-rs/npm/linux-x64-musl/package.json packages/backend-rs/npm/linux-x64-musl/package.json
|
||||||
COPY packages/backend-rs/npm/linux-arm64-musl/package.json packages/backend-rs/npm/linux-arm64-musl/package.json
|
COPY packages/backend-rs/npm/linux-arm64-musl/package.json packages/backend-rs/npm/linux-arm64-musl/package.json
|
||||||
|
@ -21,8 +21,8 @@ COPY packages/macro-rs/Cargo.toml packages/macro-rs/Cargo.toml
|
||||||
COPY packages/macro-rs/src/lib.rs packages/macro-rs/src/
|
COPY packages/macro-rs/src/lib.rs packages/macro-rs/src/
|
||||||
|
|
||||||
# Configure pnpm, and install backend-rs dependencies
|
# Configure pnpm, and install backend-rs dependencies
|
||||||
RUN corepack enable && corepack prepare pnpm@latest --activate && pnpm --filter backend-rs install --frozen-lockfile
|
RUN corepack enable && corepack prepare pnpm@latest --activate && pnpm --filter backend-rs install
|
||||||
RUN cargo fetch --locked --manifest-path /firefish/packages/backend-rs/Cargo.toml
|
RUN cargo fetch --locked --manifest-path Cargo.toml
|
||||||
|
|
||||||
# Copy in the rest of the rust files
|
# Copy in the rest of the rust files
|
||||||
COPY packages/backend-rs packages/backend-rs/
|
COPY packages/backend-rs packages/backend-rs/
|
||||||
|
@ -40,6 +40,7 @@ COPY packages/client/package.json packages/client/package.json
|
||||||
COPY packages/sw/package.json packages/sw/package.json
|
COPY packages/sw/package.json packages/sw/package.json
|
||||||
COPY packages/firefish-js/package.json packages/firefish-js/package.json
|
COPY packages/firefish-js/package.json packages/firefish-js/package.json
|
||||||
COPY packages/megalodon/package.json packages/megalodon/package.json
|
COPY packages/megalodon/package.json packages/megalodon/package.json
|
||||||
|
COPY pnpm-lock.yaml ./
|
||||||
|
|
||||||
# Install dev mode dependencies for compilation
|
# Install dev mode dependencies for compilation
|
||||||
RUN pnpm install --frozen-lockfile
|
RUN pnpm install --frozen-lockfile
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@bull-board/api": "5.16.0",
|
"@bull-board/api": "5.16.0",
|
||||||
"@bull-board/koa": "5.16.0",
|
"@bull-board/koa": "5.16.0",
|
||||||
"@bull-board/ui": "5.16.0",
|
"@bull-board/ui": "5.17.1",
|
||||||
"@discordapp/twemoji": "^15.0.3",
|
"@discordapp/twemoji": "^15.0.3",
|
||||||
"@koa/cors": "5.0.0",
|
"@koa/cors": "5.0.0",
|
||||||
"@koa/multer": "3.0.2",
|
"@koa/multer": "3.0.2",
|
||||||
|
@ -34,9 +34,9 @@
|
||||||
"@redocly/openapi-core": "1.12.0",
|
"@redocly/openapi-core": "1.12.0",
|
||||||
"@sinonjs/fake-timers": "11.2.2",
|
"@sinonjs/fake-timers": "11.2.2",
|
||||||
"adm-zip": "0.5.10",
|
"adm-zip": "0.5.10",
|
||||||
"ajv": "8.12.0",
|
"ajv": "8.13.0",
|
||||||
"archiver": "7.0.1",
|
"archiver": "7.0.1",
|
||||||
"aws-sdk": "2.1608.0",
|
"aws-sdk": "2.1618.0",
|
||||||
"axios": "^1.6.8",
|
"axios": "^1.6.8",
|
||||||
"backend-rs": "workspace:*",
|
"backend-rs": "workspace:*",
|
||||||
"blurhash": "2.0.5",
|
"blurhash": "2.0.5",
|
||||||
|
@ -111,9 +111,9 @@
|
||||||
"stringz": "2.1.0",
|
"stringz": "2.1.0",
|
||||||
"summaly": "2.7.0",
|
"summaly": "2.7.0",
|
||||||
"syslog-pro": "1.0.0",
|
"syslog-pro": "1.0.0",
|
||||||
"systeminformation": "5.22.7",
|
"systeminformation": "5.22.8",
|
||||||
"tar-stream": "^3.1.7",
|
"tar-stream": "^3.1.7",
|
||||||
"tesseract.js": "^5.0.5",
|
"tesseract.js": "^5.1.0",
|
||||||
"tinycolor2": "1.6.0",
|
"tinycolor2": "1.6.0",
|
||||||
"tmp": "0.2.3",
|
"tmp": "0.2.3",
|
||||||
"typeorm": "0.3.20",
|
"typeorm": "0.3.20",
|
||||||
|
@ -133,7 +133,7 @@
|
||||||
"@types/fluent-ffmpeg": "2.1.24",
|
"@types/fluent-ffmpeg": "2.1.24",
|
||||||
"@types/jsdom": "21.1.6",
|
"@types/jsdom": "21.1.6",
|
||||||
"@types/jsonld": "1.5.13",
|
"@types/jsonld": "1.5.13",
|
||||||
"@types/jsrsasign": "10.5.13",
|
"@types/jsrsasign": "10.5.14",
|
||||||
"@types/katex": "0.16.7",
|
"@types/katex": "0.16.7",
|
||||||
"@types/koa": "2.15.0",
|
"@types/koa": "2.15.0",
|
||||||
"@types/koa-bodyparser": "4.3.12",
|
"@types/koa-bodyparser": "4.3.12",
|
||||||
|
@ -148,7 +148,7 @@
|
||||||
"@types/mocha": "10.0.6",
|
"@types/mocha": "10.0.6",
|
||||||
"@types/node": "20.12.7",
|
"@types/node": "20.12.7",
|
||||||
"@types/node-fetch": "2.6.11",
|
"@types/node-fetch": "2.6.11",
|
||||||
"@types/nodemailer": "6.4.14",
|
"@types/nodemailer": "6.4.15",
|
||||||
"@types/oauth": "0.9.4",
|
"@types/oauth": "0.9.4",
|
||||||
"@types/opencc-js": "^1.0.3",
|
"@types/opencc-js": "^1.0.3",
|
||||||
"@types/pg": "^8.11.5",
|
"@types/pg": "^8.11.5",
|
||||||
|
@ -182,6 +182,6 @@
|
||||||
"type-fest": "4.17.0",
|
"type-fest": "4.17.0",
|
||||||
"typescript": "5.4.5",
|
"typescript": "5.4.5",
|
||||||
"webpack": "^5.91.0",
|
"webpack": "^5.91.0",
|
||||||
"ws": "8.16.0"
|
"ws": "8.17.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
"@types/tinycolor2": "1.4.6",
|
"@types/tinycolor2": "1.4.6",
|
||||||
"@types/uuid": "9.0.8",
|
"@types/uuid": "9.0.8",
|
||||||
"@vitejs/plugin-vue": "5.0.4",
|
"@vitejs/plugin-vue": "5.0.4",
|
||||||
"@vue/runtime-core": "3.4.25",
|
"@vue/runtime-core": "3.4.27",
|
||||||
"autobind-decorator": "2.4.0",
|
"autobind-decorator": "2.4.0",
|
||||||
"autosize": "6.0.1",
|
"autosize": "6.0.1",
|
||||||
"broadcast-channel": "7.0.0",
|
"broadcast-channel": "7.0.0",
|
||||||
|
@ -70,7 +70,7 @@
|
||||||
"punycode": "2.3.1",
|
"punycode": "2.3.1",
|
||||||
"qrcode": "1.5.3",
|
"qrcode": "1.5.3",
|
||||||
"qrcode-vue3": "^1.6.8",
|
"qrcode-vue3": "^1.6.8",
|
||||||
"rollup": "4.16.4",
|
"rollup": "4.17.2",
|
||||||
"s-age": "1.1.2",
|
"s-age": "1.1.2",
|
||||||
"sass": "1.75.0",
|
"sass": "1.75.0",
|
||||||
"seedrandom": "3.0.5",
|
"seedrandom": "3.0.5",
|
||||||
|
@ -87,7 +87,7 @@
|
||||||
"uuid": "9.0.1",
|
"uuid": "9.0.1",
|
||||||
"vite": "5.2.11",
|
"vite": "5.2.11",
|
||||||
"vite-plugin-compression": "^0.5.1",
|
"vite-plugin-compression": "^0.5.1",
|
||||||
"vue": "3.4.25",
|
"vue": "3.4.27",
|
||||||
"vue-draggable-plus": "^0.4.0",
|
"vue-draggable-plus": "^0.4.0",
|
||||||
"vue-plyr": "^7.0.0",
|
"vue-plyr": "^7.0.0",
|
||||||
"vue-prism-editor": "2.0.0-alpha.2",
|
"vue-prism-editor": "2.0.0-alpha.2",
|
||||||
|
|
600
pnpm-lock.yaml
600
pnpm-lock.yaml
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue