Repository navigation
ci: update libraries daily with deps-auto-update instead of Dependabot - #90
Merged
Merged
Conversation
Что: - .github/workflows/deps-auto-update.yml: тот же workflow, что в репозиториях hit-proxy. Каждый день в 03:00 UTC и вручную: bun update в пределах диапазонов package.json (minor и patch, прямые и транзитивные пакеты, версии не моложе суток), bun audit, ветка deps/auto-update и один PR «зависимости: автообновление библиотек» в AgentHits-Dev. Пока PR открыт, ветка пересобирается каждый день; чужой commit в ней останавливает пересборку. Проверки ветки - pull-request.yml через workflow_dispatch. Workflow не мержит и не деплоит. Файл одинаковый в dokploy и dokploy-mcp: база AgentHits-Dev, bun workspaces определяются по package.json и обновляются через bun update --recursive. - pull-request.yml: добавлен workflow_dispatch, чтобы workflow мог запустить проверки своей ветки. - .github/dependabot.yml удалён: для Bun его заменяет этот workflow. - bunfig.toml: minimumReleaseAge 259200 → 86400 (сутки); CLAUDE.md: раздел Dependencies. Зачем: - Единый процесс обновления библиотек во всех проектах владельца (решение 2026-10-27). Dependabot для Bun двигает только прямые зависимости, транзитивные CVE оставались навсегда. Риски: - Для создания PR в настройках репозитория нужно включить «Allow GitHub Actions to create and approve pull requests»; без этого ветка обновляется, а job publish падает с подсказкой. - Major-версии workflow не берёт: они остаются ручными, по одному PR. Проверки: - actionlint для deps-auto-update.yml и pull-request.yml - без замечаний к новым строкам. - Шаг update из этого файла прогнан локально на временной копии: менялись только разрешённые файлы, bun audit чист. - bun install --frozen-lockfile с новым bunfig.toml проходит. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Зачем
Библиотеки форка обновлялись Dependabot только по прямым зависимостям: транзитивные пакеты в
bun.lockне двигались, и уязвимость в них осталась бы навсегда. Во всех остальных проектах владельца с 2026-10-27 библиотеки обновляет один и тот же workflowdeps-auto-update.yml. Этот PR переводит форк на него и ставит порог возраста версии сутки, как там.Что и когда будет запускаться
Каждый день в 03:00 UTC и по ручному запуску →
deps-auto-update.ymlupdate(токен только на чтение, учётные данные checkout не сохраняются):bun install --frozen-lockfile, затемbun update --recursive --minimum-release-age=86400— все workspaces (apps/api,apps/dokploy,apps/schedules,packages/server), прямые и транзитивные пакеты, только в пределах диапазоновpackage.json(minor и patch). Затемbun auditиbun outdated. Если изменилось что-то кромеpackage.jsonиbun.lock, job падает.publish(пишет, но Bun и пакеты не запускает): commit поверх свежейAgentHits-Dev,git push --forceв веткуdeps/auto-update, один PR «зависимости: автообновление библиотек» с таблицей «пакет — было — стало», итогомbun auditи списком доступных major. Затем запускаетpull-request.ymlна ветке черезworkflow_dispatch: push отGITHUB_TOKENне создаёт событиеpull_request.Пока PR открыт, ветка каждый день пересобирается с новыми версиями. Commit в эту ветку от человека останавливает пересборку до merge или закрытия PR. Обновлений нет — открытый PR закрывается. Workflow не мержит и не деплоит; после merge, как обычно, выходит релиз
agenthits-v*.Замороженные пакеты не двигаются:
better-auth,@better-auth/*,stripe,@stepperize/react,@dokploy/trpc-openapiзакреплены точными версиями,ssh2— через~,overridesв корне точные. Major (сейчас около 27 пакетов:stripe,octokit,date-fns,nanoid,redis,ioredis,bullmqи др.) — вручную, по одному PR.Остальные изменения
pull-request.yml: добавленworkflow_dispatch, группа concurrency для такого запуска берётся по ветке..github/dependabot.ymlудалён: для Bun его заменяет workflow.bunfig.toml:minimumReleaseAge259200 → 86400 (сутки).CLAUDE.md: раздел Dependencies с правилами.dependency-audit.yml(ci: run bun audit every week #89) остаётся.Проверки
actionlintдляdeps-auto-update.ymlиpull-request.yml— без замечаний к новым строкам.updateиз этого файла прогнан локально на временной копииAgentHits-Dev: изменились толькоbun.lock,apps/dokploy/package.jsonиpackages/server/package.json. Первый PR сдвинет около 617 записейbun.lock, в основном транзитивных. Замороженные пакеты иoverridesне изменились,bun audit— No vulnerabilities found (1524 пакета).bun install --frozen-lockfileс новымbunfig.tomlпроходит.Что нужно от владельца
TaskFlow-Systemsуже включено, в репозитории — нет). Без этого ветка обновится, а PR не создастся.gh workflow run deps-auto-update.yml --repo TaskFlow-Systems/dokploy --ref AgentHits-Dev.Тот же workflow добавляется в
agentHits/dokploy-mcpотдельным PR.🤖 Generated with Claude Code