mirror of
https://github.com/dsec-hub/dsec-discord-bot.git
synced 2026-09-22 15:53:56 +00:00
A merge to main runs the merged commit as root on the club VPS through the self-hosted runner, and this repo has no PR CI, no required review and no status check. - .github/workflows/ci.yml: fmt / clippy / build --locked / test on ubuntu-latest, contents: read, both actions pinned by commit SHA. Never the VPS. - deploy.yml: keep push to main, add workflow_dispatch, permissions contents: read, environment: production, and an if: always() step that removes the .env the deploy writes into the workspace. - .dockerignore: keep that .env, target/ and .git out of the build context. - Dockerfile: --locked on both cargo build --release lines. environment: production gates nothing until required reviewers are configured on the environment itself, and the ruleset still requires zero approving reviews. Both are owner-only and listed in the pull request. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
9 lines
352 B
Text
9 lines
352 B
Text
# Keep the docker build context to what the Dockerfile actually COPYs
|
|
# (Cargo.toml, Cargo.lock, src). deploy.yml writes the DOT_ENV secret to .env in
|
|
# the workspace before running `docker compose up --build`; without this file
|
|
# that secret is tarred into the build context and handed to the docker daemon
|
|
# on every deploy.
|
|
.env
|
|
.env.*
|
|
target/
|
|
.git
|