tree ce4c43533a7f6239ee0e37d8953d77a30998db5f
parent 2338b5930565a788a5ee8f39f9088980d2393c98
author Paul Jolly <paul@myitcv.io> 1610107677 +0000
committer Paul Jolly <paul@myitcv.org.uk> 1612372846 +0000

all: add tests for the GitHub workflow process

Re-running go generate is a step that invariably happens _after_ having
verified that tests pass. This is unfortunate in the case of the GitHub
workflow schema that is vendored at:

github.com/SchemaStore/schemastore/src/schemas/json/github-workflow.cue

because it has been the cause of a number of bugs in the past (in a good
way).

This change adds the updateTxtarTests command to the internal/ci CUE
tool to update three txtar-based tests:

* encoding/jsonschema - checking the we can imported the source
  JSONSchema
* internal/core/adt (the eval part) - checking that we can evaluate the
  workflows defined in internal/ci against the imported schema
* cmd/cue/cmd - verifying that we can run the step of generating the
  yaml workflow definitions from a cue cmd flow definition

It's still the case that if you:

* change the workflow definitions in internal/ci, or
* pin to a later version of the GitHub workflow schema

you must run:

    go generate ./internal/ci

to update the generated workflow definitions, but now this will also
update the source files in various txtar test archives.

If a GitHub-related txtar test fails in such a way that you need to
update the golden files in that archive, this indicates you will also
need to re-run the go generate ./internal/ci to re-generate the yaml
workflow definitions.

Change-Id: I310c4f58cfd91965766279d7ad06fee54b7842cb
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/8112
Reviewed-by: CUE cueckoo <cueckoo@gmail.com>
Reviewed-by: Paul Jolly <paul@myitcv.org.uk>
