Compare commits

..

19 Commits

Author SHA1 Message Date
mattuy 021d96c201 Merge pull request 'fix(ci): 修复通知优先级被预展开' (#8) from fix/woodpecker-success-priority into main
ci/woodpecker/push/build-image Pipeline was successful
2026-08-01 01:02:52 +00:00
mattuy 88bb2f1542 fix(ci): preserve notification priority at runtime 2026-08-01 00:56:37 +00:00
mattuy 7475807863 Merge pull request 'ci: 构建并推送静态站镜像' (#7) from ci/container-image into main
ci/woodpecker/push/build-image Pipeline was successful
Reviewed-on: #7
2026-07-25 15:47:26 +00:00
mattuy 76fae3a73b Merge pull request 'feat: 自动适配系统暗黑模式' (#6) from feat/dark-mode into main
Reviewed-on: #6
2026-07-25 15:47:17 +00:00
necobot dbcc03f545 ci: 构建并推送静态站镜像 2026-07-25 23:31:39 +08:00
necobot 6c436be847 feat: 自动适配系统暗黑模式 2026-07-25 23:26:10 +08:00
mattuy 2f058981a6 Merge pull request 'fix: 排除破坏行框的组合字符' (#5) from fix/stable-unicode-layout into main 2026-07-25 15:22:40 +00:00
necobot 03bbb76a2c fix: 排除破坏行框的组合字符 2026-07-25 23:11:25 +08:00
mattuy 48c17799bc Merge pull request 'feat: 扩大体量和显影参数范围' (#4) from feat/wide-volume-range into main 2026-07-25 09:04:25 +00:00
necobot 143823f953 fix: 让显影参数覆盖完整范围 2026-07-25 16:41:47 +08:00
necobot 9650d8a243 feat: 扩大体量参数范围 2026-07-25 16:40:44 +08:00
mattuy bd6f3daa73 Merge pull request 'fix: 移除输入框黄色焦点圈' (#3) from fix/textarea-focus into main 2026-07-25 08:38:00 +00:00
necobot 4655e56820 fix: 移除输入框黄色焦点圈 2026-07-25 16:36:52 +08:00
mattuy 73f094b72d add lock 2026-07-25 16:35:19 +08:00
mattuy 9efb5ad3ac Merge pull request 'fix: 避免顶部文字重叠' (#2) from fix/header-overlap into main 2026-07-25 08:33:52 +00:00
necobot fe11c9a1cc fix: 避免顶部文字重叠 2026-07-25 16:33:03 +08:00
mattuy da9b354e4c Merge pull request 'feat: 初始化文字马赛克生成器' (#1) from feat/initial-app into main
Reviewed-on: #1
2026-07-25 08:27:17 +00:00
necobot c580d069b1 feat: 初始化文字马赛克生成器 2026-07-25 16:19:26 +08:00
mattuy 0001f72635 Initial commit 2026-07-25 07:58:15 +00:00
+100
View File
@@ -0,0 +1,100 @@
# 文字马赛克静态站镜像构建流水线
# 触发:push 到 main 自动运行,也支持手动运行。
# 镜像:registry.mattuy.top/text-mosaic:<sha7>
when:
- event: push
branch: main
- event: manual
variables:
- &notify_image registry.gitlab.com/gitlab-ci-utils/curl-jq:4.0.2
- &small_resources
requests:
cpu: "10m"
memory: "32Mi"
limits:
cpu: "200m"
memory: "128Mi"
- &notify_script |
case "$NOTIFY_EVENT" in
started) EMOJI="🚀"; TEXT="静态站镜像构建开始" ;;
success) EMOJI="✅"; TEXT="静态站镜像构建成功" ;;
failure) EMOJI="❌"; TEXT="静态站镜像构建失败" ;;
*) EMOJI="❓"; TEXT="$NOTIFY_EVENT" ;;
esac
COMMIT_SHORT=$(printf '%s' "$CI_COMMIT_SHA" | cut -c1-7)
COMMIT_SUBJECT=$(printf '%s' "$CI_COMMIT_MESSAGE" | head -1)
TITLE="$EMOJI [text-mosaic] $TEXT"
CONTENT="分支: $CI_COMMIT_BRANCH
提交: $COMMIT_SHORT \"$COMMIT_SUBJECT\"
作者: $CI_COMMIT_AUTHOR
详情: $CI_PIPELINE_URL"
PAYLOAD=$(jq -n -c \
--arg source 'text-mosaic' \
--arg title "$TITLE" \
--arg content "$CONTENT" \
--arg priority "$NOTIFY_PRIORITY" \
'{source: $source, title: $title, content: $content} + (if $priority == "" then {} else {priority: $priority} end)')
curl -sS --fail-with-body --show-error -X POST -H 'content-type: application/json' \
-d "$PAYLOAD" \
http://mattuy-api.mattuy-house.svc/api/notification/notify
steps:
notify-start:
image: *notify_image
environment:
NOTIFY_EVENT: started
NOTIFY_PRIORITY: silent
backend_options:
kubernetes:
resources: *small_resources
commands:
- *notify_script
failure: ignore
build-and-push:
image: moby/buildkit:v0.28.1
backend_options:
kubernetes:
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "1000m"
memory: "1Gi"
commands:
- >-
buildctl --addr tcp://buildkitd.mattuy-house.svc:1234 build
--frontend dockerfile.v0
--local context=.
--local dockerfile=.
--output type=image,\"name=registry.mattuy.top/text-mosaic:${CI_COMMIT_SHA:0:7}\",push=true,registry.insecure=true
--export-cache type=s3,mode=max,bucket=buildcache,region=us-east-1,endpoint_url=https://io-lan.mattuy.top,use_path_style=true,name=text-mosaic
--import-cache type=s3,bucket=buildcache,region=us-east-1,endpoint_url=https://io-lan.mattuy.top,use_path_style=true,name=text-mosaic
notify-success:
image: *notify_image
environment:
NOTIFY_EVENT: success
NOTIFY_PRIORITY: low
backend_options:
kubernetes:
resources: *small_resources
commands:
- *notify_script
failure: ignore
notify-failure:
image: *notify_image
environment:
NOTIFY_EVENT: failure
backend_options:
kubernetes:
resources: *small_resources
commands:
- *notify_script
when:
- status: failure
failure: ignore