Merge branch 'develop' into renovate/vite-5.x

This commit is contained in:
naskya 2024-05-11 21:16:34 +09:00
commit dbc24a0b8f
No known key found for this signature in database
GPG key ID: 712D413B3A9FED5C
5 changed files with 363 additions and 388 deletions

View file

@ -10,30 +10,24 @@ services:
workflow:
rules:
- if: $CI_PROJECT_PATH == 'firefish/firefish'
when: always
- if: $CI_MERGE_REQUEST_PROJECT_PATH == 'firefish/firefish'
when: always
- if: $CI_PROJECT_PATH != 'firefish/firefish'
- if: $CI_PROJECT_PATH == 'firefish/firefish' || $CI_MERGE_REQUEST_PROJECT_PATH == 'firefish/firefish'
changes:
paths:
- .gitlab-ci.yml
when: never
- packages/**/*
- locales/**/*
- scripts/**/*
- package.json
- Cargo.toml
- Cargo.lock
- Dockerfile
- .dockerignore
when: always
- when: never
cache:
paths:
- node_modules
# - /usr/local/cargo/registry/index
# - /usr/local/cargo/registry/cache
- target/debug/deps
- target/debug/build
stages:
- dependency
- test
- build
- scan
variables:
POSTGRES_DB: 'firefish_db'
@ -45,6 +39,7 @@ variables:
CARGO_PROFILE_DEV_LTO: 'off'
CARGO_PROFILE_DEV_DEBUG: 'none'
CARGO_TERM_COLOR: 'always'
GIT_CLEAN_FLAGS: -ffdx -e node_modules/ -e built/ -e target/ -e packages/backend-rs/built/
default:
before_script:
@ -67,13 +62,10 @@ test:build:
- if: $CI_COMMIT_BRANCH == 'develop' || $CI_PIPELINE_SOURCE == 'merge_request_event'
changes:
paths:
- packages/backend/*
- packages/backend-rs/*
- packages/macro-rs/*
- packages/megalodon/*
- packages/backend-rs/**/*
- packages/macro-rs/**/*
- scripts/**/*
- package.json
- pnpm-lock.yaml
- Cargo.toml
- Cargo.lock
when: always
@ -87,6 +79,42 @@ test:build:
- pnpm run build:debug
- 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:
stage: test
rules:
@ -95,22 +123,19 @@ test:build:client_only:
- if: $CI_COMMIT_BRANCH == 'develop' || $CI_PIPELINE_SOURCE == 'merge_request_event'
changes:
paths:
- packages/backend/*
- packages/backend-rs/*
- packages/macro-rs/*
- packages/megalodon/*
- packages/backend-rs/**/*
- packages/macro-rs/**/*
- scripts/**/*
- package.json
- pnpm-lock.yaml
- Cargo.toml
- Cargo.lock
when: never
- if: $CI_COMMIT_BRANCH == 'develop' || $CI_PIPELINE_SOURCE == 'merge_request_event'
changes:
paths:
- packages/client/*
- packages/firefish-js/*
- packages/sw/*
- packages/client/**/*
- packages/firefish-js/**/*
- packages/sw/**/*
- locales/**/*
when: always
services: []
@ -140,7 +165,6 @@ build:container:
- locales/**/*
- scripts/copy-assets.mjs
- package.json
- pnpm-lock.yaml
- Cargo.toml
- Cargo.lock
- Dockerfile
@ -149,6 +173,8 @@ build:container:
needs:
- job: test:build
optional: true
- job: test:build:backend_ts_only
optional: true
- job: test:build:client_only
optional: true
before_script:
@ -234,39 +260,3 @@ renovate:
before_script: []
script:
- 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

View file

@ -8,7 +8,7 @@ RUN curl --proto '=https' --tlsv1.2 --silent --show-error --fail https://sh.rust
ENV PATH="/root/.cargo/bin:${PATH}"
# 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/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
@ -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/
# Configure pnpm, and install backend-rs dependencies
RUN corepack enable && corepack prepare pnpm@latest --activate && pnpm --filter backend-rs install --frozen-lockfile
RUN cargo fetch --locked --manifest-path /firefish/packages/backend-rs/Cargo.toml
RUN corepack enable && corepack prepare pnpm@latest --activate && pnpm --filter backend-rs install
RUN cargo fetch --locked --manifest-path Cargo.toml
# Copy in the rest of the rust files
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/firefish-js/package.json packages/firefish-js/package.json
COPY packages/megalodon/package.json packages/megalodon/package.json
COPY pnpm-lock.yaml ./
# Install dev mode dependencies for compilation
RUN pnpm install --frozen-lockfile

View file

@ -24,7 +24,7 @@
"dependencies": {
"@bull-board/api": "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",
"@koa/cors": "5.0.0",
"@koa/multer": "3.0.2",
@ -34,9 +34,9 @@
"@redocly/openapi-core": "1.12.0",
"@sinonjs/fake-timers": "11.2.2",
"adm-zip": "0.5.10",
"ajv": "8.12.0",
"ajv": "8.13.0",
"archiver": "7.0.1",
"aws-sdk": "2.1608.0",
"aws-sdk": "2.1618.0",
"axios": "^1.6.8",
"backend-rs": "workspace:*",
"blurhash": "2.0.5",
@ -111,9 +111,9 @@
"stringz": "2.1.0",
"summaly": "2.7.0",
"syslog-pro": "1.0.0",
"systeminformation": "5.22.7",
"systeminformation": "5.22.8",
"tar-stream": "^3.1.7",
"tesseract.js": "^5.0.5",
"tesseract.js": "^5.1.0",
"tinycolor2": "1.6.0",
"tmp": "0.2.3",
"typeorm": "0.3.20",
@ -133,7 +133,7 @@
"@types/fluent-ffmpeg": "2.1.24",
"@types/jsdom": "21.1.6",
"@types/jsonld": "1.5.13",
"@types/jsrsasign": "10.5.13",
"@types/jsrsasign": "10.5.14",
"@types/katex": "0.16.7",
"@types/koa": "2.15.0",
"@types/koa-bodyparser": "4.3.12",
@ -148,7 +148,7 @@
"@types/mocha": "10.0.6",
"@types/node": "20.12.7",
"@types/node-fetch": "2.6.11",
"@types/nodemailer": "6.4.14",
"@types/nodemailer": "6.4.15",
"@types/oauth": "0.9.4",
"@types/opencc-js": "^1.0.3",
"@types/pg": "^8.11.5",
@ -182,6 +182,6 @@
"type-fest": "4.17.0",
"typescript": "5.4.5",
"webpack": "^5.91.0",
"ws": "8.16.0"
"ws": "8.17.0"
}
}

View file

@ -34,7 +34,7 @@
"@types/tinycolor2": "1.4.6",
"@types/uuid": "9.0.8",
"@vitejs/plugin-vue": "5.0.4",
"@vue/runtime-core": "3.4.25",
"@vue/runtime-core": "3.4.27",
"autobind-decorator": "2.4.0",
"autosize": "6.0.1",
"broadcast-channel": "7.0.0",
@ -70,7 +70,7 @@
"punycode": "2.3.1",
"qrcode": "1.5.3",
"qrcode-vue3": "^1.6.8",
"rollup": "4.16.4",
"rollup": "4.17.2",
"s-age": "1.1.2",
"sass": "1.75.0",
"seedrandom": "3.0.5",
@ -87,7 +87,7 @@
"uuid": "9.0.1",
"vite": "5.2.11",
"vite-plugin-compression": "^0.5.1",
"vue": "3.4.25",
"vue": "3.4.27",
"vue-draggable-plus": "^0.4.0",
"vue-plyr": "^7.0.0",
"vue-prism-editor": "2.0.0-alpha.2",

File diff suppressed because it is too large Load diff