Skip to content

Commit 89159ec

Browse files
Merge pull request #24 from Certora/7_31_0_release
7.31.0 Release ab16d9d8737f066e20ad962e4b17c9da921652e0
2 parents 5c9b8e0 + 2bb61eb commit 89159ec

181 files changed

Lines changed: 29145 additions & 28869 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.circleci/config.yml

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ parameters:
1515
release_prod_version:
1616
default: false
1717
type: boolean
18+
description: "Whether to release the production version of certora-cli"
19+
release_tag_name:
20+
default: ""
21+
type: string
22+
description: "The tag name to use for the release"
1823

1924
commands:
2025
proper_checkout:
@@ -156,11 +161,14 @@ commands:
156161
cd publish
157162
python3 ../scripts/certora_cli_publish.py
158163
- run:
159-
name: Test the just now released version
164+
name: Test pypi package
160165
command: |
161166
cd publish
162-
chmod +x test.sh
163-
./test.sh
167+
PACKAGE_NAME=$(cat PACKAGE.txt)
168+
PACKAGE_VERSION=$(cat VERSION.txt | sed 's/\+.*//')
169+
echo "Testing package $PACKAGE_NAME with version $PACKAGE_VERSION"
170+
../scripts/certora_cli_pypi_test.sh "$PACKAGE_NAME" "$PACKAGE_VERSION"
171+
164172
165173
jobs:
166174
build:
@@ -417,6 +425,24 @@ jobs:
417425
- attach_workspace:
418426
at: ~/
419427
- release_certora_cli
428+
429+
release_production_with_api:
430+
parameters:
431+
tag_name:
432+
type: string
433+
description: the tag name to trigger the workflow with
434+
docker:
435+
- image: cimg/base:current
436+
resource_class: small
437+
working_directory: ~/repo/
438+
steps:
439+
- run:
440+
name: Trigger workflow
441+
command: |
442+
curl --request POST --url https://circleci.com/api/v2/project/gh/Certora/CertoraProver/pipeline \
443+
--header "Circle-Token: $CIRCLE_TOKEN" \
444+
--header "content-type: application/json" \
445+
--data '{"tag":"<< parameters.tag_name >>", "parameters": {"release_prod_version": true}}'
420446
421447
workflows:
422448
prover-sanity:
@@ -537,4 +563,14 @@ workflows:
537563
only: *semver
538564
branches:
539565
ignore:
540-
- *all
566+
- *all
567+
568+
release_prod_with_ui:
569+
when:
570+
and:
571+
- << pipeline.parameters.release_prod_version >>
572+
- << pipeline.parameters.release_tag_name >>
573+
jobs:
574+
- release_production_with_api:
575+
context: opscertora
576+
tag_name: << pipeline.parameters.release_tag_name >>

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"master"
1111
],
1212
"python.analysis.extraPaths": [
13-
"./build_out"
13+
"./build_out",
14+
"./scripts"
1415
]
1516
}

Public/CITests/testCertoraClient.py

Lines changed: 84 additions & 268 deletions
Large diffs are not rendered by default.

Public/CITests/testCertoraUtils.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@
3434
from Shared import certoraAttrUtil as AttrUtil
3535
from Shared import certoraUtils as Util
3636
from Mutate import mutateConstants as MConstants
37+
from certoraSolanaProver import run_solana_prover
38+
from certoraSorobanProver import run_soroban_prover
39+
from certoraRanger import run_ranger
40+
from certoraRun import run_certora
41+
3742

3843
class InvalidResultException(Exception):
3944
pass
@@ -807,6 +812,30 @@ def add_to_conf_file(self, conf_file: str, data: Dict[str, Any]) -> str:
807812
file.write(json5.dumps(content))
808813
return dest
809814

815+
816+
class SorobanProverTestSuite(TestSuite):
817+
def __init__(self, **kwargs: Any):
818+
super().__init__(run_soroban_prover, **kwargs)
819+
820+
821+
class SolanaProverTestSuite(TestSuite):
822+
def __init__(self, **kwargs: Any):
823+
super().__init__(run_solana_prover, **kwargs)
824+
825+
class RangerTestSuite(TestSuite):
826+
def __init__(self, **kwargs: Any):
827+
super().__init__(run_ranger, **kwargs)
828+
829+
830+
class ProverTestSuite(TestSuite):
831+
def __init__(self, **kwargs: Any):
832+
super().__init__(run_certora, **kwargs)
833+
834+
@staticmethod
835+
def conf_arg(conf: str) -> List[str]:
836+
return [conf] if conf else []
837+
838+
810839
def replace_in_file(file_path: Path, old: str, new: str) -> None:
811840
with file_path.open('r') as f:
812841
content = f.read().replace(old, new)

Public/CITests/testMutateClient.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ def test_conf_file_inputs(self) -> None:
9696
replacements=TestUtil.replace_x(f'{mutation_expr()}, "outdir": "new_dir"'),
9797
expected="Invalid configuration: 'outdir' should not be set")
9898

99-
def test_failed_runs(self) -> None:
99+
def test_invalid_runs(self) -> None:
100100
suite = MutantTestSuite(conf_file_template=_p('mutation_conf_top_level.conf'),
101101
test_attribute=Util.TestValue.CHECK_ARGS)
102102
suite.expect_failure(description="prover_conf", run_flags=["--prover_conf"],

0 commit comments

Comments
 (0)