Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
44ca1b2
Retry LSP tests in case of error (#5342)
atomb Apr 19, 2024
846a2f6
Refactoring to support `decreases to` (#5315)
atomb Apr 19, 2024
2e6a08c
Add first pass of proof obligation description expressions (#5317)
alex-chew Apr 20, 2024
0082cf6
Test ResolutionErrors[45679] with new resolver (#5333)
RustanLeino Apr 21, 2024
2e7de95
Change the format of output produced by `--progress` (#5341)
atomb Apr 23, 2024
06b8794
Build against a newer GoLang (#5350)
keyboardDrummer Apr 24, 2024
b46f479
Do not refer to auditor code when building a Dafny library (#5329)
keyboardDrummer Apr 24, 2024
bc6c9c3
Turning on doofiles/Test4.dfy (#5360)
keyboardDrummer Apr 25, 2024
3e38580
Feat: Rust operators and immutable collections (#5081)
MikaelMayer Apr 26, 2024
ea63179
Revert "Feat: Rust operators and immutable collections (#5081)" (#5377)
keyboardDrummer Apr 29, 2024
1be1cba
Allow using project files together with --library (#5297)
keyboardDrummer Apr 29, 2024
0b629ea
Feat rust operators (#5380)
MikaelMayer Apr 29, 2024
ba7ac85
Revert "Retry LSP tests in case of error (#5342)" (#5361)
keyboardDrummer Apr 30, 2024
74d9cd3
Remove 'note,' at the start of some warnings (#5378)
keyboardDrummer Apr 30, 2024
2e6938d
feat: Translation records (#5346)
robin-aws Apr 30, 2024
a79ea8a
Fix: Standard libraries to be compatible with general newtypes (#5347)
MikaelMayer Apr 30, 2024
88808ee
Revert "Feat rust operators (#5380)" (again) (#5383)
robin-aws May 1, 2024
8ed91c4
Add support for base field in project files (#5359)
keyboardDrummer May 1, 2024
c238e1f
Release 4.6.0 (#5268)
robin-aws May 1, 2024
dedaab9
Add more logging to QuickEditsInLargeFile (#5387)
keyboardDrummer May 1, 2024
79c323d
ci: Daily CI to soak flaky tests (#5382)
robin-aws May 1, 2024
075b2a8
Timeout reporting (#5393)
keyboardDrummer May 2, 2024
55d1c40
Fix a bug in AwaitNextNotificationAsync that prevented the 'Waited fo…
keyboardDrummer May 2, 2024
1cace26
Semantic vs non-semantic options (#5397)
keyboardDrummer May 7, 2024
8432b17
Go libray module support (#5140)
ShubhamChaturvedi7 May 8, 2024
cc2bc98
Unsafe dependencies (#5394)
keyboardDrummer May 9, 2024
707510a
Feat: Rust operators (#5390)
MikaelMayer May 10, 2024
57cefb6
IDE performance improvements (#5415)
keyboardDrummer May 13, 2024
8da3ddd
Added interface for plugins to add JsonRpcRequestHandlers to the lang…
BurstingF May 14, 2024
842712f
Remove phases (#5429)
keyboardDrummer May 14, 2024
af3431f
Clear diagnostics when closing documents in projects (#5437)
keyboardDrummer May 15, 2024
d75ac66
Turn on more logging for `ProjectFileDoesNotOwnAllSourceFilesItUses` …
keyboardDrummer May 15, 2024
8d7fe03
Improve code navigation around import declarations with no explicit n…
keyboardDrummer May 16, 2024
55ab7fd
chore(deps): bump rexml from 3.2.6 to 3.2.8 in /docs (#5454)
dependabot[bot] May 16, 2024
80583b7
Attempt to fix the stability of DocumentAddedToExistingProjectDoesNot…
keyboardDrummer May 17, 2024
9a7f992
Fix: Support for user-defined module fmt for all compilers (#5441)
MikaelMayer May 17, 2024
cfc7760
Fix: Optional pre-type won't cause a crash anymore (#5442)
MikaelMayer May 17, 2024
2f5a17e
Add more ProofObligationDescription expressions (#5455)
alex-chew May 18, 2024
7efdc49
Fix bugs that could lead to an unresponsive IDE when working with pro…
keyboardDrummer May 19, 2024
33edb8b
Add yet more ProofObligationDescription expressions (#5467)
alex-chew May 20, 2024
19759cf
Fix crash and add test (#5447)
keyboardDrummer May 21, 2024
4ce2f7e
Omit empty modules from translation records (#5475)
robin-aws May 22, 2024
412f10e
fix: Apply name mangling to datatype names in Python more often (#5476)
fabiomadge May 22, 2024
5dc56e6
No memory leaks boogie (#5482)
keyboardDrummer May 23, 2024
12d7571
Improve stability of RedundantAssumptionsGetWarnings (#5457)
keyboardDrummer May 23, 2024
6b6b83a
No longer show generated symbols as workspace symbols (#5484)
keyboardDrummer May 24, 2024
90f9c03
fix: Unguarded enumeration of bound variables in set and map comprehe…
fabiomadge May 24, 2024
2d397f9
fix: Reference the correct `this` after removing the tail call of a f…
fabiomadge May 24, 2024
5329e72
fix: Ignore values not in a multiset when computing its hash in C# (#…
fabiomadge May 24, 2024
7cbbe7d
Revert "fix: Ignore values not in a multiset when computing its hash …
keyboardDrummer May 27, 2024
dc2948e
ci: Use macos-11 in all CI (#5493)
robin-aws May 28, 2024
b5040b9
Revert "ci: Use macos-11 in all CI (#5493)" (#5503)
keyboardDrummer May 29, 2024
4eb179e
Implement `decreases to` expressions (#5367)
atomb May 29, 2024
64853d3
feat: Implement assigned(e) expression (#5501)
alex-chew May 30, 2024
961ade9
Do not let 'null' children slip into the AST (#5446)
keyboardDrummer May 30, 2024
9a53670
Do not emit incorrect linting warnings (#5491)
keyboardDrummer May 30, 2024
d49d143
Include stacktrace in parser internal error message (#5508)
keyboardDrummer May 30, 2024
ab326df
Implement `GetAssertedExpr` for `DecreasesBoundedBelow` (#5489)
atomb May 30, 2024
6af5acd
chore-rust-operators-followup (#5433)
MikaelMayer May 31, 2024
20843c9
Unreferenced declaration (#5483)
keyboardDrummer May 31, 2024
da8b84f
chore: Double shard count and drop `ubuntu-lastest` from the nightly …
fabiomadge Jun 3, 2024
52b1a6d
Add `const`, `export` and `expect` to LaTeX keyword list (#5522)
zeertzjq Jun 4, 2024
7522f29
fix: Only guard `this` when eliminating tail calls, if possible (#5524)
fabiomadge Jun 4, 2024
a748799
Split off parts of single pass compiler (#5526)
keyboardDrummer Jun 4, 2024
fe3b56c
Fix minor README typo (#5514)
lucasmcdonald3 Jun 4, 2024
5b048ff
No flatten for most backends (#5528)
keyboardDrummer Jun 5, 2024
662394a
Use Macos13 instead of 14 (#5535)
keyboardDrummer Jun 6, 2024
df0f713
Add timeout support to tests of TestGeneration.Test (#5512)
keyboardDrummer Jun 6, 2024
430d485
chore: Clean up build (#5519)
RustanLeino Jun 6, 2024
fdf362f
Prevent LSP server from crashing on code actions (#5543)
keyboardDrummer Jun 7, 2024
552a4f9
Chore: Using instantiated type for coercion (#5511)
MikaelMayer Jun 7, 2024
a5d600c
feat: python-module-name (#5461)
lucasmcdonald3 Jun 7, 2024
f75ae71
feat: Implement frame-related asserted exprs and TraitDecreases (#5542)
alex-chew Jun 7, 2024
9f0cda2
Implement `GetAssertedExpr` for `CalculationStep` (#5546)
atomb Jun 8, 2024
f0b25e0
Chore: No extra newtype test (#5506)
MikaelMayer Jun 8, 2024
5ad2413
Fix null ref in covered tokens (#5548)
keyboardDrummer Jun 10, 2024
642e381
Reverted internal prefix for every backend except Dafny (#5538)
MikaelMayer Jun 10, 2024
f170784
Fix bug in projectAsLibrary test (#5545)
keyboardDrummer Jun 11, 2024
709edd1
Update testing documentation (#5504)
stefan-aws Jun 12, 2024
5f74d6a
Fix: No new resolver crash with partially resolved datatype update ex…
MikaelMayer Jun 14, 2024
f4320dc
Chore: Omit Rust from the nightly release workflow (#5559)
MikaelMayer Jun 15, 2024
aa58409
fix: Legacy datatype constructor compatibility in Java (#5558)
robin-aws Jun 17, 2024
efbc03b
Ensure nightly skips Rust (fixed) (#5564)
MikaelMayer Jun 18, 2024
9400252
ci: Fix nightly build tests broken by skipping Rust (#5566)
robin-aws Jun 19, 2024
e3273ad
chore: Remove typos in docs (#5529)
fabiomadge Jun 20, 2024
0860638
Chore: Dafny to Rust refactorings (#5513)
MikaelMayer Jun 22, 2024
2e866ef
Add --find-project option (#5568)
keyboardDrummer Jun 25, 2024
a197276
Chore: Internal backends should not fail CI (#5573)
MikaelMayer Jun 25, 2024
992cbf8
Attempt to stabilize ConcurrentCompilationDoesNotBreakCaching test (#…
keyboardDrummer Jun 26, 2024
eb2d95b
Fix: Compiled disjunctive nested pattern matching no longer crashing …
MikaelMayer Jun 26, 2024
c17a7c9
Update release process (#5578)
atomb Jun 27, 2024
75d83cd
Release 4.7.0 (#5579)
atomb Jun 27, 2024
141053d
Fix tests that failed during the 4.7 release (#5581)
atomb Jun 27, 2024
040b54c
Refactor codebase in preparation for hide PR (#5594)
keyboardDrummer Jul 4, 2024
9a952b3
Macos13 and indirect c#backend (#5601)
keyboardDrummer Jul 5, 2024
204676d
Fix Nightly: CsharpCodeGenerator.cs (#5606)
MikaelMayer Jul 8, 2024
795beb6
Fix clone function of DecreasesToExpr (#5598)
keyboardDrummer Jul 8, 2024
8dedc64
--ignore-warnings flag for test generation (#5609)
stefan-aws Jul 8, 2024
7e81f44
feat: Add bounded polymorphism (#5547)
RustanLeino Jul 9, 2024
bf592b8
Fix: have test generation return sequences with elements of right typ…
stefan-aws Jul 9, 2024
2c4dd00
Feat rust classes traits arrays (#5591)
MikaelMayer Jul 9, 2024
52ef046
fix: Clarify error location of inlined `is` predicates (#5587)
RustanLeino Jul 10, 2024
04d1cbe
Optimize compilation of functional-looking assignment RHSs (#5589)
RustanLeino Jul 10, 2024
91d35a2
Chore: better compile-time elephant operator (#5614)
MikaelMayer Jul 11, 2024
d8938a9
fix: Crash when compiling an empty source file while including testin…
fabiomadge Jul 22, 2024
f1b0c01
Use a DafnyProject instead of a root file for printing (#5645)
keyboardDrummer Jul 23, 2024
281922d
Hide statements (#5562)
keyboardDrummer Jul 24, 2024
e397b4f
Let `measure-complexity` output the worst performing verification tas…
keyboardDrummer Jul 24, 2024
704655f
chore(deps): bump rexml from 3.2.8 to 3.3.2 in /docs (#5648)
dependabot[bot] Jul 25, 2024
d8868e5
Verification in the IDE now works correctly when declaring nested mod…
keyboardDrummer Jul 29, 2024
36691ee
Fix NRE and add test (#5655)
keyboardDrummer Jul 30, 2024
8600061
Fix bad generated Java code when using --legacy-data-constructors (#5…
keyboardDrummer Jul 31, 2024
e16b9c2
When using --legacy-data-constructors, add a typeDescriptor method to…
keyboardDrummer Aug 1, 2024
66b3c7a
docs: The number of left-hand-sides must match the amount of out-para…
fabiomadge Aug 2, 2024
b1aa83d
chore(deps): bump rexml from 3.3.2 to 3.3.3 in /docs (#5663)
dependabot[bot] Aug 2, 2024
bc6b587
Add developer options --sprint and --pprint (#5673)
keyboardDrummer Aug 7, 2024
c9cd3b6
Chore: Generated Id are now declaration-specific (#5669)
MikaelMayer Aug 8, 2024
f5e5106
Refactor how options are registered (#5675)
keyboardDrummer Aug 12, 2024
f7a0a55
feat: Method calls with a by-proof (#5662)
fabiomadge Aug 12, 2024
d38be44
feat: Legacy module names option (#5679)
robin-aws Aug 12, 2024
644a7d8
CompFuzzCI integration (#5682)
stefan-aws Aug 13, 2024
6ddca5b
Revert "CompFuzzCI integration" (#5696)
stefan-aws Aug 14, 2024
8de6d00
Enable the option enforce determinism for the verify command (#5632)
keyboardDrummer Aug 15, 2024
f88046b
fix: MultiSet::PartialOrd::partial_cmp (#5699)
ajewellamz Aug 15, 2024
7e92b41
Add --performance-stats option and use this on some tests (#5695)
keyboardDrummer Aug 16, 2024
d21e1b9
CompFuzzCI integration (no forks) (#5697)
stefan-aws Aug 19, 2024
4e60188
Chore: Fixed a spurious CI failure (#5685)
MikaelMayer Aug 19, 2024
ebbec43
Don't complain about determinism for traits (#5711)
atomb Aug 19, 2024
a461394
Update Boogie to 3.2.4 (#5709)
keyboardDrummer Aug 23, 2024
030ce55
feat: Allow type parameters on newtypes (#5495)
RustanLeino Aug 28, 2024
d869f97
chore(deps): bump rexml from 3.3.3 to 3.3.6 in /docs (#5717)
dependabot[bot] Aug 29, 2024
b3f70a8
feat: Prelude extractor (#5621)
RustanLeino Aug 30, 2024
299e2c8
Chore: Ordering of modules now deterministic in compiled code (#5684)
MikaelMayer Sep 3, 2024
24f8914
Release 4.8.0 (#5733)
MikaelMayer Sep 3, 2024
c9fe1be
Feat rust externs subsets eta names tests (#5613)
MikaelMayer Sep 4, 2024
ef1e3bc
For function postcondition violations, point to the problematic expre…
keyboardDrummer Sep 4, 2024
0f16605
Chore: Use of concurrentbag instead of list for LSP trees (#5745)
MikaelMayer Sep 5, 2024
dd58e83
Fix: Support for enumerating datatypes in the Rust backend (#5670)
MikaelMayer Sep 5, 2024
e387e3e
fix: Fix various type-system-refresh issues (#5712)
RustanLeino Sep 5, 2024
ad812af
fix: Correct null-related checking of type bounds, and add axioms (#5…
RustanLeino Sep 5, 2024
1845b42
Chore: Removal of debug line for better mergeability (#5750)
MikaelMayer Sep 6, 2024
5521689
Fix: Tail-Recursion for the Dafny-to-Rust compiler (#5668)
MikaelMayer Sep 6, 2024
798618b
Fix: Support for double constant initialization in Dafny-to-Rust (#5667)
MikaelMayer Sep 6, 2024
db86128
Feat rust exactboundedpool (#5706)
MikaelMayer Sep 9, 2024
8388853
Chore: Increase Runtime coverage (#5694)
MikaelMayer Sep 10, 2024
7af458b
Allow revealing using a static receiver (#5760)
keyboardDrummer Sep 10, 2024
3aae84a
Fuzzing on forks (#5762)
kbuaaaaaa Sep 11, 2024
dc44321
Fix a bug related to hide/reveal and recursive functions (#5764)
keyboardDrummer Sep 12, 2024
e958f79
Feat: Translate Dafny tests to Rust tests (#5676)
MikaelMayer Sep 12, 2024
d333e67
Chore: Fixed non-deterministic with only one assumed timeout instead …
MikaelMayer Sep 16, 2024
29d1c3f
Opaque block (#5761)
keyboardDrummer Sep 16, 2024
5a42b5a
Feat: Add --rust-module-name to specify a module name (#5747)
MikaelMayer Sep 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
29 changes: 29 additions & 0 deletions .github/workflows/compfuzzci_close_pr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# This workflow is triggered on PR being closed.
# It dispatches workflow on CompFuzzCI repository, where the bugs found in the PR head is discarded from the database.

name: Updating CompFuzzCI on PR Closed
on:
pull_request:
branches:
- master
types: [closed]

jobs:
UpdatePRClosed:
if: github.event.pull_request.base.ref == 'master' && github.event.pull_request.head.repo.owner.login == 'dafny-lang'
runs-on: ubuntu-latest
steps:
- name: Trigger CompFuzzCI
uses: actions/github-script@v7
with:
github-token: ${{ secrets.COMPFUZZCI_PAT }}
script: |
await github.rest.actions.createWorkflowDispatch({
owner: 'CompFuzzCI',
repo: 'DafnyCompilerFuzzer',
workflow_id: 'update_pr_close.yaml',
ref: 'main',
inputs: {
pr_head_ref: '${{github.event.pull_request.head.ref}}'
}
})
37 changes: 37 additions & 0 deletions .github/workflows/compfuzzci_fuzz.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# This workflow is triggered on PR being opened, synced, reopened, closed.
# It dispatches workflow on CompFuzzCI repository, where fuzzing of the PR is handled.
# For problems or suggestions, contact [email protected]

name: Fuzzing on PR
on:
pull_request_target:
branches:
- master

jobs:
FuzzOnPR:
if: github.event.pull_request.base.ref == 'master' &&
(github.event.pull_request.author_association == 'COLLABORATOR' ||
github.event.pull_request.author_association == 'MEMBER' ||
github.event.pull_request.author_association == 'OWNER')
runs-on: ubuntu-latest
steps:
- name: Trigger CompFuzzCI
uses: actions/github-script@v7
with:
github-token: ${{ secrets.COMPFUZZCI_PAT }}
script: |
await github.rest.actions.createWorkflowDispatch({
owner: 'CompFuzzCI',
repo: 'DafnyCompilerFuzzer',
workflow_id: 'fuzz.yaml',
ref: 'main',
inputs: {
pr: '${{github.event.pull_request.number}}',
author: '${{github.event.pull_request.user.login}}',
branch: '${{github.event.pull_request.head.ref}}',
head_sha: '${{github.event.pull_request.head.sha}}',
duration: '3600',
instance: '2'
}
})
51 changes: 51 additions & 0 deletions .github/workflows/compfuzzci_process_issues.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# This workflow is triggered on issue being opened, closed, reopened.
# The CompFuzzCI fuzzer needs to keep track of active issues in the repository to ensure that the fuzzer does not report the same issue multiple times.
# For open and reopen events: It dispatches workflow on CompFuzzCI repository, where the issue is added to the database.
# For close event: It dispatches workflow on CompFuzzCI repository, where the issue is removed from the database.

name: Issue Update for Fuzzer
on:
issues:
branches:
- master
types: [opened, closed, reopened]

jobs:
UpdateIssueOpened:
if: github.event.action == 'opened' || github.event.action == 'reopened'
runs-on: ubuntu-latest
steps:
- name: Trigger CompFuzzCI
uses: actions/github-script@v7
with:
github-token: ${{ secrets.COMPFUZZCI_PAT }}
script: |
await github.rest.actions.createWorkflowDispatch({
owner: 'CompFuzzCI',
repo: 'DafnyCompilerFuzzer',
workflow_id: 'update_issue_open.yaml',
ref: 'main',
inputs: {
issue_number: '${{github.event.issue.number}}',
issuer: '${{github.event.issue.user.login}}',
commit: '${{ github.sha }}'
}
})
UpdateIssueClosed:
if: github.event.action == 'closed'
runs-on: ubuntu-latest
steps:
- name: Trigger CompFuzzCI
uses: actions/github-script@v7
with:
github-token: ${{ secrets.COMPFUZZCI_PAT }}
script: |
await github.rest.actions.createWorkflowDispatch({
owner: 'CompFuzzCI',
repo: 'DafnyCompilerFuzzer',
workflow_id: 'update_issue_close.yaml',
ref: 'main',
inputs: {
issue_number: '${{github.event.issue.number}}'
}
})
23 changes: 23 additions & 0 deletions .github/workflows/daily-soak-test-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@

# Scheduled daily build
#
# The purpose of this build is to run tests that may have non-deterministic failures
# many times over, in the hopes of more aggressively revealing
# flaky tests that occasionally slow down unrelated development.

name: Daily soak test workflow

on:
schedule:
# Chosen to be hopefully outside of business hours for most contributors'
# time zones, and not on the hour to avoid heavy scheduled-job times:
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
- cron: "30 3 * * *"
workflow_dispatch:

jobs:
daily-soak-build-for-master:
if: github.repository_owner == 'dafny-lang' || github.event_name == 'workflow_dispatch'
uses: ./.github/workflows/xunit-tests-reusable.yml
with:
soak_test: true
16 changes: 11 additions & 5 deletions .github/workflows/integration-tests-reusable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,15 @@ on:
ref:
required: true
type: string
compilers:
description: 'Compilers to use'
type: string
required: false
default: ""

env:
dotnet-version: 6.0.x # SDK Version for building Dafny


jobs:
# This job is used to dynamically calculate the matrix dimensions.
# For now that just makes the sharding a little cleaner, but it will shortly
Expand All @@ -27,15 +31,15 @@ jobs:
- name: Populate OS list (all platforms)
id: populate-os-list-all
if: inputs.all_platforms
run: echo "os-list=[\"ubuntu-latest\", \"ubuntu-20.04\", \"macos-latest\", \"windows-2019\"]" >> $GITHUB_OUTPUT
run: echo "os-list=[\"ubuntu-20.04\", \"macos-13\", \"windows-2019\"]" >> $GITHUB_OUTPUT
- name: Populate OS list (one platform)
id: populate-os-list-one
if: "!inputs.all_platforms"
run: echo "os-list=[\"ubuntu-20.04\"]" >> $GITHUB_OUTPUT
- name: Populate OS mapping for package.py
id: populate-os-mapping
run: |
echo "os-mapping={\"ubuntu-latest\": \"ubuntu\", \"ubuntu-20.04\": \"ubuntu\", \"macos-latest\": \"macos\", \"windows-2019\": \"windows\"}" >> $GITHUB_OUTPUT
echo "os-mapping={\"ubuntu-20.04\": \"ubuntu\", \"macos-13\": \"macos\", \"windows-2019\": \"windows\"}" >> $GITHUB_OUTPUT
- name: Populate target runtime version list (all platforms)
id: populate-target-runtime-version-all
if: inputs.all_platforms
Expand Down Expand Up @@ -91,12 +95,12 @@ jobs:
- name: Set up oldest supported Go
uses: actions/setup-go@v5
with:
go-version: '1.15'
go-version: '1.21'
cache: false
- name: Set up goimports
env:
GO111MODULE: on
run: go get golang.org/x/tools/cmd/goimports@release-branch.go1.15
run: go install golang.org/x/tools/cmd/goimports@latest
- name: Set up Python
uses: actions/setup-python@v5
with:
Expand Down Expand Up @@ -151,6 +155,7 @@ jobs:
XUNIT_SHARD: ${{ matrix.shard }}
XUNIT_SHARD_COUNT: ${{ inputs.num_shards }}
DAFNY_RELEASE: ${{ github.workspace }}\unzippedRelease\dafny
DAFNY_INTEGRATION_TESTS_ONLY_COMPILERS: ${{ inputs.compilers }}
run: |
cmd /c mklink D:\a\dafny\dafny\unzippedRelease\dafny\z3\bin\z3-4.12.1 D:\a\dafny\dafny\unzippedRelease\dafny\z3\bin\z3-4.12.1.exe
dotnet test --logger trx --logger "console;verbosity=normal" --collect:"XPlat Code Coverage" --settings dafny/Source/IntegrationTests/coverlet.runsettings dafny/Source/IntegrationTests/IntegrationTests.csproj
Expand All @@ -167,6 +172,7 @@ jobs:
env:
XUNIT_SHARD: ${{ matrix.shard }}
XUNIT_SHARD_COUNT: ${{ inputs.num_shards }}
DAFNY_INTEGRATION_TESTS_ONLY_COMPILERS: ${{ inputs.compilers }}
run: |
${{ inputs.all_platforms }} && export DAFNY_RELEASE="${{ github.workspace }}/unzippedRelease/dafny"
dotnet test --logger trx --logger "console;verbosity=normal" --collect:"XPlat Code Coverage" --settings dafny/Source/IntegrationTests/coverlet.runsettings dafny/Source/IntegrationTests
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/msbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
run: dotnet tool restore
- name: Check whitespace and style
working-directory: dafny
run: dotnet format whitespace Source/Dafny.sln --verify-no-changes --exclude Source/DafnyCore/Scanner.cs --exclude Source/DafnyCore/Parser.cs --exclude Source/DafnyCore/GeneratedFromDafny.cs --exclude Source/DafnyRuntime/DafnyRuntimeSystemModule.cs
run: dotnet format whitespace Source/Dafny.sln --verify-no-changes --exclude Source/DafnyCore/Scanner.cs --exclude Source/DafnyCore/Parser.cs --exclude Source/DafnyCore/GeneratedFromDafny/* --exclude Source/DafnyCore.Test/GeneratedFromDafny/* --exclude Source/DafnyRuntime/DafnyRuntimeSystemModule.cs
- name: Get Boogie Version
run: |
sudo apt-get update
Expand Down Expand Up @@ -67,7 +67,7 @@ jobs:

integration-tests:
needs: check-deep-tests
if: always() && (( github.event_name == 'pull_request' && (needs.check-deep-tests.result == 'success' || contains(github.event.pull_request.labels.*.name, 'run-deep-tests'))) || ( github.event_name == 'push' && ( github.ref_name == 'master' || vars.TEST_ON_FORK == 'true' )))
if: always() && (( github.event_name == 'pull_request' && (needs.check-deep-tests.result == 'success' || contains(github.event.pull_request.labels.*.name, 'run-deep-tests') || contains(github.event.pull_request.labels.*.name, 'run-integration-tests'))) || ( github.event_name == 'push' && ( github.ref_name == 'master' || vars.TEST_ON_FORK == 'true' )))
uses: ./.github/workflows/integration-tests-reusable.yml
with:
ref: ${{ github.ref }}
Expand All @@ -76,6 +76,8 @@ jobs:
# This is the best way to fix an issue in master that was only caught by the nightly build.
all_platforms: ${{ contains(github.event.pull_request.labels.*.name, 'run-deep-tests') || contains(github.event.push.labels.*.name, 'run-deep-tests')}}
num_shards: 5
# Omit Rust in the nightly build (or rather simulating it here) because Rust is known to have random issues
compilers: ${{ (contains(github.event.pull_request.labels.*.name, 'run-deep-tests') || contains(github.event.push.labels.*.name, 'run-deep-tests')) && 'cs,java,go,js,cpp,dfy,py' || '' }}

test-coverage-analysis:
runs-on: ubuntu-20.04
Expand Down Expand Up @@ -159,7 +161,7 @@ jobs:
output: both
# Fail if less than 86% total coverage, measured across all packages combined.
# Report "yellow" status if less than 90% total coverage.
thresholds: '86 90'
thresholds: '85 90'

- name: Code coverage report (LSP)
uses: irongut/[email protected]
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/nightly-build-reusable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@ jobs:
with:
ref: ${{ inputs.ref }}
all_platforms: true
num_shards: 5
num_shards: 10
# Omit Rust because Rust is known to have random issues
compilers: cs,java,go,js,cpp,dfy,py

determine-vars:
if: github.repository_owner == 'dafny-lang' && inputs.publish-prerelease
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-release-reusable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ env:
jobs:

publish-release:
runs-on: macos-latest # Put back 'ubuntu-20.04' if macos-latest fails in any way
runs-on: macos-13 # Put back 'ubuntu-20.04' if macos-latest fails in any way
steps:
- name: Print version
run: echo ${{ inputs.name }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-brew.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ concurrency:
jobs:
build:

runs-on: macos-latest
runs-on: macos-13

steps:
- name: Install dafny
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release-downloads-nuget.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
fail-fast: false
matrix:
# This workflow breaks on windows-2022: https://github.com/dafny-lang/dafny/issues/1906
os: [ ubuntu-22.04, ubuntu-20.04, macos-11, windows-2019 ]
os: [ ubuntu-22.04, ubuntu-20.04, macos-13, windows-2019 ]

steps:
- name: OS
Expand Down Expand Up @@ -85,7 +85,7 @@ jobs:
excludes: prerelease, draft
- name: Verify Dafny version
if: "${{ steps.dafny.outputs.release != '' }}"
run: version="${{ steps.dafny.outputs.release }}"; dafny -version | grep -iE "Dafny "${version:1}".[0-9]{5}"
run: version="${{ steps.dafny.outputs.release }}"; dafny -version | grep -iE "Dafny "${version:1}".[0-9]+"
shell: bash
## Check that a simple program compiles and runs on each supported platform
## Now that the dotnet tool distribution doesn't include the Scripts,
Expand All @@ -111,7 +111,7 @@ jobs:
# but note we need to skip Dafny since nuget install doesn't work for dotnet tools.
library-name: [ DafnyPipeline, DafnyServer, DafnyLanguageServer, DafnyRuntime, DafnyCore, DafnyDriver ]
# This workflow breaks on windows-2022: https://github.com/dafny-lang/dafny/issues/1906
os: [ ubuntu-latest, ubuntu-20.04, macos-latest, windows-2019 ]
os: [ ubuntu-latest, ubuntu-20.04, macos-13, windows-2019 ]

steps:
# Verify that the dependencies of the libraries we publish (e.g. DafnyLanguageServer)
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release-downloads.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@ jobs:
fail-fast: false
matrix:
# This workflow breaks on windows-2022: https://github.com/dafny-lang/dafny/issues/1906
os: [ ubuntu-latest, ubuntu-20.04, macos-latest, windows-2019 ]
os: [ ubuntu-latest, ubuntu-20.04, macos-13, windows-2019 ]
include:
- os: 'ubuntu-latest'
osn: 'ubuntu-20.04'
- os: 'ubuntu-20.04'
osn: 'ubuntu-20.04'
- os: 'macos-latest'
osn: 'x64-macos-11'
- os: 'macos-13'
osn: 'x64-macos-13'
- os: 'windows-2019'
osn: 'windows-2019'
# There is no hosted environment for Ubuntu 14.04 or for debian
Expand Down
10 changes: 7 additions & 3 deletions .github/workflows/runtime-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.15'
go-version: '1.21'
cache: false
- name: Set up goimports
env:
GO111MODULE: on
run: go get golang.org/x/tools/cmd/goimports@release-branch.go1.15
run: go install golang.org/x/tools/cmd/goimports@latest
- name: Build Dafny
run: dotnet build Source/Dafny.sln
- name: Get Z3
Expand All @@ -48,7 +48,7 @@ jobs:
cd ./Source/DafnyCore
make test
make check-format
- name: Test DafnyRuntime (C#)
- name: Test DafnyRuntime (C#, Rust)
run: |
cd ./Source/DafnyRuntime
make all
Expand All @@ -72,3 +72,7 @@ jobs:
run: |
cd ./Source/DafnyRuntime/DafnyRuntimeJs
make all
- name: Test DafnyRuntimeRust
run: |
cd ./Source/DafnyRuntime/DafnyRuntimeRust
make all
6 changes: 3 additions & 3 deletions .github/workflows/standard-libraries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
build:
needs: check-deep-tests
if: always() && (( github.event_name == 'pull_request' && (needs.check-deep-tests.result == 'success' || contains(github.event.pull_request.labels.*.name, 'run-deep-tests'))) || ( github.event_name == 'push' && ( github.ref_name == 'master' || vars.TEST_ON_FORK == 'true' )))
runs-on: macos-latest
runs-on: macos-13

steps:
- name: Checkout Dafny
Expand All @@ -32,12 +32,12 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.15'
go-version: '1.21'
cache: false
- name: Set up goimports
env:
GO111MODULE: on
run: go get golang.org/x/tools/cmd/goimports@release-branch.go1.15
run: go install golang.org/x/tools/cmd/goimports@latest
- name: Build Dafny
run: dotnet build Source/Dafny.sln
- name: Get Z3
Expand Down
Loading