Revision 57a976cd8658776595ba5d201f9b7a26cc35fad3 authored by Nicolas BACQUEY on 26 July 2022, 09:07:38 UTC, committed by Nicolas BACQUEY on 26 July 2022, 13:42:23 UTC
When parsing json schemas in `qcheck_rpc.ml` to generate random RPC inputs, we had two references that were ultimately circular: "tree_encoding" and "inode_tree". Parsing those references would cause stack overflows in `parse_input` and crash the test suite. This commit adds two special cases to `parse_input`, similar to those which are already there for references to "bignum" and "micheline.alpha.michelson_v1.expression". However, note that the two new generators are trivial: they always produce a `Null` json value. Those generators will need to be correctly implmented in a future commit.
1 parent 5c6a1cd
.gitlab-ci.yml
---
# General setup
default:
interruptible: true
# Basic configuration to guard against double-pipelines
workflow:
rules:
# This workflow entry allows pipelines for schedules events in which case it checks the
# TZ_SCHEDULE_KIND which must be set in the pipeline scheduling interface
# In either case it sets the TZ_PIPELINE_KIND variable to allow jobs to
# selectively run on some pipelines but not all.
# See https://docs.gitlab.com/ee/ci/yaml/README.html#workflow for additional
# details.
- if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"'
variables:
TZ_PIPELINE_KIND: "SCHEDULE"
when: always
# Switch between branch pipelines and merge request pipelines.
# https://docs.gitlab.com/13.12/ee/ci/yaml/README.html#switch-between-branch-pipelines-and-merge-request-pipelines
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS'
when: never
# This workflow entry allows pipelines for push events (including force-push, push of fixup commits, rebase, etc.)
- if: '$CI_PIPELINE_SOURCE == "push"'
when: always
- when: never # default
# The "manual" stage exists to fix a UI problem that occurs when mixing
# manual and non-manual jobs.
stages:
- sanity
- build
- test
- test_coverage
- packaging
- doc
- build_release
- publish_release
- manual
# All the jobs belonging to a stage X should be in
# .gitlab/ci/X.yml. The stage "manual" is an exception to this rule,
# as jobs of that stage are not logically related.
# If the configuration for stage X is long, it can be broken up in
# subfiles .gitlab/ci/X/a.yml, .gitlab/ci/X/b.yml, etc (see e.g. the
# stage test).
# Finally, templates shall not be defined in one stage file and used
# in another. That is, a template defined in test.yml shall not be
# used in doc.yml (but it's fine to use it in a subfile test/X.yml).
include:
- .gitlab/ci/templates.yml
# Actual jobs are defined in these included files
- .gitlab/ci/packaging.yml
- .gitlab/ci/opam-ci.yml
- .gitlab/ci/sanity.yml
- .gitlab/ci/build.yml
- .gitlab/ci/test/templates.yml
- .gitlab/ci/test/lints.yml
- .gitlab/ci/test/unit.yml
- .gitlab/ci/test/integration.yml
- .gitlab/ci/test/liquidity-baking-scripts-integrity.yml
- .gitlab/ci/test/tezt.yml
- .gitlab/ci/doc.yml
- .gitlab/ci/doc/test-scripts.yml
- .gitlab/ci/build_release.yml
- .gitlab/ci/publish_release.yml
# The job `unified_coverage` must have the same name on merge requests and the default branch
# /!\ Limitations of using rules with include:
# https://docs.gitlab.com/ee/ci/yaml/includes.html#use-variables-with-include
# Only run on merge requests that do not have the label `ci--no-coverage`
- local: .gitlab/ci/test_coverage.yml
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_LABELS !~ /(?:^|[,])ci--no-coverage(?:$|[,])/'
# Only run on default branch
- local: .gitlab/ci/test_coverage_default.yml
rules:
# Cannot use TEZOS_DEFAULT_NAMESPACE here, see limitations above
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...