@@ -387,12 +387,16 @@ IDE fails to import your Mill project
387387
388388== Setting up Mill in CI
389389
390+ === CI Bootstrap Scripts
391+
390392Due to Mill's usage of xref:#_bootstrap_scripts[Bootstrap Scripts], you typically do not
391393need to setup anything in your CI system to make Mill work. Any Mill project should be
392394buildable via `./mill` on your CI machines without needing to first install Java, Mill,
393395or other dependencies, and the `./mill` bootstrap script will download these dependencies
394396as necessary.
395397
398+ === FORCE_COLOR
399+
396400One thing that you should set up manually is to enable a https://force-color.org/[FORCE_COLOR]
397401environment variable in your CI system. For example, in Github Actions this can be configured
398402in your workflow `.yml` file via:
@@ -415,6 +419,38 @@ image::basic/ForceColor0.png[]
415419
416420image::basic/ForceColor1.png[]
417421
422+ === Re-using the `out/` Folder
423+
424+ Mill caches its outputs locally in the xref:fundamentals/out-dir.adoc[out/ folder]. You
425+ can preserve this `out/` folder between CI workers, e.g. to allow a subsequent CI worker
426+ to use a previous worker's cached results, or to perform initial compilation on one worker
427+ then share the compiled output with downstream workers.
428+
429+ For example, for Github Actions you may configure `out/` folder uploading via
430+
431+ ```yaml
432+ - uses: actions/upload-artifact@v4
433+ with:
434+ name: build-out
435+ path: out/
436+ ```
437+
438+ And downloading via
439+
440+ ```yaml
441+ - uses: actions/download-artifact@v4
442+ with:
443+ name: build-out
444+ path: out/
445+ ```
446+
447+
448+ === Github Actions Test Reports
449+
450+ If you use Github Actions for CI, you can use https://github.com/mikepenz/action-junit-report in
451+ your pipeline to render the generated `test-report.xml` files nicely on Github. See
452+ https://github.com/com-lihaoyi/mill/pull/4218/files for an example integration
453+
418454== Using Mill without access to Maven Central
419455
420456Under some circumstances (e.g. corporate firewalls), you may not have access maven central.
0 commit comments