diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d0bd77a..4cd1fb5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,7 @@ jobs: image: ghcr.io/devrail-dev/dev-toolchain:v1 steps: - uses: actions/checkout@v4 - - run: make check + - run: make _check build: runs-on: ubuntu-latest diff --git a/content/blog/2026-03-02-introducing-devrail.md b/content/blog/2026-03-02-introducing-devrail.md index 7df1b48..7b7143f 100644 --- a/content/blog/2026-03-02-introducing-devrail.md +++ b/content/blog/2026-03-02-introducing-devrail.md @@ -78,7 +78,7 @@ See the [agent setup guide](/docs/getting-started/agents/) for detailed configur DevRail is in **beta**. The core contract -- Makefile, container, `.devrail.yml` -- is stable and used in production projects. Language support for all seven ecosystems ships in the `v1` container image. Standards, tool versions, and defaults may still change based on real-world usage. -What works today: new projects from templates, retrofitting existing repos, CI integration, agent instruction files. What's still evolving: the `make fix` auto-remediation workflow, additional language ecosystems, and edge cases we haven't hit yet. +What works today: new projects from templates, retrofitting existing repos, CI integration, agent instruction files, and `make fix` auto-remediation. What's still evolving: additional language ecosystems and edge cases we haven't hit yet. If you run into problems or have opinions about how things should work, [open an issue](https://github.com/devrail-dev/devrail.dev/issues). Bug reports, feature requests, and "this default is wrong" complaints are all welcome. diff --git a/content/blog/2026-03-03-make-fix-and-mirror-automation.md b/content/blog/2026-03-03-make-fix-and-mirror-automation.md new file mode 100644 index 0000000..427c2a8 --- /dev/null +++ b/content/blog/2026-03-03-make-fix-and-mirror-automation.md @@ -0,0 +1,36 @@ +--- +title: "make fix and Mirror Automation" +date: 2026-03-03 +description: "Auto-remediation lands for all seven language ecosystems, and CI-based mirroring eliminates manual git push between GitLab and GitHub." +--- + +Two features shipped today: `make fix` for auto-remediation and CI-based mirror automation between GitLab and GitHub. + +## make fix + +`make check` tells you what's wrong. `make fix` fixes what it can. + +```console +$ make fix +✓ python (ruff format, ruff check --fix) +✓ bash (shfmt -w) +✓ go (gofumpt -w) +✓ js/ts (prettier --write, eslint --fix) +``` + +The target runs formatters and auto-fixable linter rules in-place for all seven supported language ecosystems. It follows the same contract as every other Makefile target: runs inside the dev-toolchain container, reads `.devrail.yml` for language detection, and produces identical results everywhere. + +The intended workflow: run `make fix` to auto-remediate, then run `make check` to verify. Anything `make check` still flags after `make fix` requires manual attention -- issues that tools cannot safely resolve on their own. + +`make fix` is available in all [DevRail templates](https://github.com/devrail-dev) and existing projects after pulling the latest Makefile. + +## Mirror Automation + +DevRail maintains repositories on both GitHub and GitLab. Until now, mirroring between the two required a manual `git push main` after every merge. That step is now automated. + +Each repository has a CI job that pushes to its mirror after a successful merge to `main`: + +- **GitLab CI** pushes to GitHub using a deploy key stored as a CI variable +- **GitHub Actions** pushes to GitLab using a deploy key stored as a repository secret + +The mirror jobs skip gracefully if the secret is not configured, so the CI files work in any fork or clone without modification. If you are hosting DevRail templates on your own infrastructure, see the CI files for the pattern -- it is straightforward to adapt.