Skip to content

Commit 4ee4199

Browse files
authored
Merge pull request #5802 from unisonweb/revert-5801-revert-5798-check-integration-diffs
Revert "Revert "Have CI check for diffs after integration tests""
2 parents 2edfbbe + e001e72 commit 4ee4199

File tree

3 files changed

+36
-33
lines changed

3 files changed

+36
-33
lines changed

.github/workflows/ci.md

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -29,24 +29,24 @@ This currently will re-save on success or failure, but only on a cache miss (sou
2929

3030
#### `ucm_local_bin`
3131
A built `ucm` is cached in `ucm_local_bin` after a successful build and Haskell tests pass.
32-
- The **cache key** includes the os, `stack.yaml`, any `package.yaml`, and any `.hs` file.
32+
- The **cache key** includes the os, this workflow, `stack.yaml`, any `package.yaml`, and any `.hs` file.
3333
- On an exact cache hit, these steps are skipped, otherwise they are run:
34-
- restore `.stack`
35-
- restore `.stack-work`
36-
- install `stack`
37-
- build `ucm` dependencies
38-
- build `ucm`
39-
- `unison-cli` tests
40-
- `unison-core` tests
41-
- `unison-parser-typechecker` tests
42-
- `unison-sqlite` tests
43-
- `unison-syntax` tests
44-
- `unison-util-bytes` tests
45-
- `unison-util-cache` tests
46-
- `unison-util-relation` tests
47-
- `cli-integration-tests`
48-
- verification of `stack ghci` startup
49-
- `interpreter-tests.md`
34+
- restore `.stack`
35+
- restore `.stack-work`
36+
- install `stack`
37+
- build `ucm` dependencies
38+
- build `ucm`
39+
- `unison-cli` tests
40+
- `unison-core` tests
41+
- `unison-parser-typechecker` tests
42+
- `unison-sqlite` tests
43+
- `unison-syntax` tests
44+
- `unison-util-bytes` tests
45+
- `unison-util-cache` tests
46+
- `unison-util-relation` tests
47+
- `cli-integration-tests`
48+
- verification of `stack ghci` startup
49+
- `interpreter-tests.md`
5050

5151
#### `unison_src_test_results`
5252
A bit is cached in `unison_src_test_results` after non-Haskell tests in the `unison` repo pass.
@@ -65,24 +65,24 @@ No steps are skipped on a cache hit; however, a second `pull` will mostly be a n
6565
JIT sources are cached in `jit_src_scheme` if the `generate-jit-source` job completes.
6666
- The **cache key** includes the version of Racket, and the release version of `@unison/internal`.
6767
- If the cache contains `{data-info, boot-generated, simple-wrappers, builtin-generated, compound-wrappers}.ss`, then these steps are skipped, otherwise they are run:
68-
- "create transcript" to produce pull `@unison/internal` and run `generateSchemeBoot`.
69-
- download `ucm artifact` saved in the previous step
70-
- set `ucm` permissions
71-
- checkout `unison` repo, which includes some static scheme and racket files.
72-
- run the previously generated transcript
68+
- "create transcript" to produce pull `@unison/internal` and run `generateSchemeBoot`.
69+
- download `ucm artifact` saved in the previous step
70+
- set `ucm` permissions
71+
- checkout `unison` repo, which includes some static scheme and racket files.
72+
- run the previously generated transcript
7373
- If all steps succeed, the `jit_src_scheme` cache is saved.
7474

7575
#### `jit_dist`
7676
JIT binaries are cached in `jit_dist` if the `build-jit-binary` job completes.
7777
- The **cache key** includes the version of Racket, and the release version of `@unison/internal`.
7878
- On an exact cache hit, these steps are skipped, otherwise they are run:
79-
- Restore Racket dependencies
80-
- setup Racket
81-
- restore apt cache (Linux only)
82-
- download jit source from previous job
83-
- use `raco` to build jit binary
84-
- download `ucm` artifact from previous job
85-
- set `ucm` permissions
86-
- restore `base` codebase saved in previous job
87-
- jit integration test
79+
- Restore Racket dependencies
80+
- setup Racket
81+
- restore apt cache (Linux only)
82+
- download jit source from previous job
83+
- use `raco` to build jit binary
84+
- download `ucm` artifact from previous job
85+
- set `ucm` permissions
86+
- restore `base` codebase saved in previous job
87+
- jit integration test
8888
- If all of these steps succeed, the `jit_dist` cache is saved.

.github/workflows/ci.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,10 @@ jobs:
161161

162162
- name: cli-integration-tests
163163
if: steps.cache-ucm-binaries.outputs.cache-hit != 'true'
164-
run: stack exec cli-integration-tests
164+
run: |
165+
stack exec cli-integration-tests
166+
# Fail if any transcripts cause git diffs.
167+
git diff --ignore-cr-at-eol --exit-code unison-cli-integration/integration-tests
165168
166169
- name: verify stack ghci startup
167170
if: runner.os == 'macOS' && steps.cache-ucm-binaries.outputs.cache-hit != 'true'

unison-cli-integration/integration-tests/IntegrationTests/transcript.output.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ main = do
4141
I found and typechecked these definitions in scratch.u. If you
4242
do an `update`, here's how your codebase would change:
4343
44-
These new definitions are ok to `update`:
44+
New definitions:
4545
4646
structural ability Break
4747
type MyBool

0 commit comments

Comments
 (0)