Skip to content

Commit

Permalink
Avoid duplicating YAML info in Markdown
Browse files Browse the repository at this point in the history
Reviewing the last merge into unisonweb#5142, I noticed some duplicated and out-
of-date information. This brings things up-to-date and slightly reduces
the duplication.

- bumped Ormolu used by ci.yaml from 0.5.2.0 to 0.7.2.0, to match
  flake.nix
- removed Markdown that claimed ci.yaml was using Ormolu 0.5.0.1
- moved description from `base-codebase` in Markdown to comment on
 `runtime_tests_codebase` in ci.yaml (and updated it to refer to
   builtin-tests/interpreter-tests.md instead of builtin-tests/base.md)
- removed `unison_src_test_results` as it’s no longer managed as a
  single variable
- moved other comments from Markdown to ci.yaml
- added Markdown recommending to look in ci.yaml for specifics
- rearranges the order of vars in ci.yaml to match the order they were
  presented in Markdown

One thing I wasn’t sure how to map over: Markdown claims Racket 8.7 is
used in CI, but ci.yaml doesn’t mention any Racket version.
  • Loading branch information
sellout committed Jul 15, 2024
1 parent 7019595 commit 960f7d1
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 21 deletions.
17 changes: 1 addition & 16 deletions .github/workflows/ci.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,8 @@ At a high level, the CI process is:
3. On all platforms, build the `unison-runtime` Racket program save the resulting binaries as build artifacts.

### `env` vars at the top of `CI.yaml`:
Some version numbers that are used during CI:
- `ormolu_version: "0.5.0.1"`
- `racket_version: "8.7"`
- `jit_version: "@unison/internal/releases/0.0.18"`

Some cached directories:
- `ucm_local_bin` a temp path for caching a built `ucm`
- `jit_src_scheme` a temp path for caching generated jit sources
- `unison-jit-dist`
- `base-codebase` a codebase path for caching a codebase generated by `unison-src/builtin-tests/base.md`
- `unison_src_test_results` a temp path for caching the result of passing tests that depend on `unison-src/`, which includes:
- `round-trip-tests`
- `transcripts`
- `unison-src/builtin-tests/interpreter-tests.md`

`jit_generator_os: ubuntu-20.04`
- afaik, the jit sources are generated in a platform-independent way, so we just choose one platform to generate them on.
These variables pin some dependency versions, set up some directories to cache, etc. Please see the `env` section in [ci.yaml](./ci.yaml) for specifics.

### Cached directories:

Expand Down
17 changes: 12 additions & 5 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,26 @@ on:
workflow_dispatch:

env:
ormolu_version: 0.5.2.0
ucm_local_bin: ucm-local-bin
## Some version numbers that are used during CI
ormolu_version: 0.7.2.0
jit_version: "@unison/internal/releases/0.0.18"
runtime_tests_version: "@unison/runtime-tests/main"

## Some cached directories
# a temp path for caching a built `ucm`
ucm_local_bin: ucm-local-bin
# a temp path for caching generated jit sources
jit_src_scheme: unison-jit-src/scheme-libs/racket
jit_dist: unison-jit-dist
jit_generator_os: ubuntu-20.04
runtime_tests_version: "@unison/runtime-tests/main"
# a codebase path for caching a codebase generated by `unison-src/builtin-tests/interpreter-tests.md`
runtime_tests_codebase: "~/.cache/unisonlanguage/runtime-tests.unison"

# locations of some files that will indicate whether we need to re-run certain steps
transcript_test_results: transcript-test-results
interpreter_test_results: interpreter-test-results

## afaik, the jit sources are generated in a platform-independent way, so we choose one platform to generate them on.
jit_generator_os: ubuntu-20.04

jobs:
ormolu:
runs-on: ubuntu-20.04
Expand Down

0 comments on commit 960f7d1

Please sign in to comment.