-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add type descriptors for data constructors in Java, when necessary #301
Changes from 49 commits
461dd3d
c31cee8
45ee695
478c043
8f40bb7
fe5f975
ea48656
6ba962d
e841a8a
213da2b
0a24bc8
6d8b292
180d29c
5c65aa7
05327d8
4d67a3d
ad4ac89
49c7de3
ae8d542
9e2cb47
33f74af
f0493fb
efed9b2
b6f4f09
fb538e0
c8f245e
8a1786b
6e64b30
538d872
fb2d1e4
eb785e0
82349d6
60557cb
7c693c9
f7c8069
e27cd3e
ff32cc7
93f39db
6ca9e79
6c3ac1a
31595e5
9305206
f20738b
3d3e52f
28adebb
183b0fa
937bda6
b0527ea
3752aa6
6eed666
6f66074
0db5dec
855d329
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# This workflow invokes other workflows with the requested Dafny build. | ||
# It is primarily meant for manual compatibility testing, | ||
# such as trying out what the next pending nightly build will do ahead of time. | ||
name: Manual CI | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
dafny: | ||
description: 'The Dafny version to use' | ||
required: true | ||
type: string | ||
|
||
jobs: | ||
manual-ci-verification: | ||
uses: ./.github/workflows/test_models_dafny_verification.yml | ||
with: | ||
dafny: ${{ inputs.dafny }} | ||
manual-ci-java: | ||
uses: ./.github/workflows/test_models_java_tests.yml | ||
with: | ||
dafny: ${{ inputs.dafny }} | ||
manual-ci-net: | ||
uses: ./.github/workflows/test_models_net_tests.yml | ||
with: | ||
dafny: ${{ inputs.dafny }} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# This workflow invokes other workflows with the nightly Dafny build | ||
name: Dafny Nightly | ||
|
||
on: | ||
schedule: | ||
# Nightly build against Dafny's nightly prereleases, | ||
# for early warning of verification issues or regressions. | ||
# Timing chosen to be adequately after Dafny's own nightly build, | ||
# but this might need to be tweaked: | ||
# https://github.com/dafny-lang/dafny/blob/master/.github/workflows/deep-tests.yml#L16 | ||
- cron: "30 16 * * *" | ||
|
||
jobs: | ||
dafny-nightly-verification: | ||
# Don't run the cron builds on forks | ||
if: github.event_name != 'schedule' || github.repository_owner == 'smithy-lang' | ||
uses: ./.github/workflows/test_models_dafny_verification.yml | ||
with: | ||
dafny: 'nightly-latest' | ||
dafny-nightly-java: | ||
if: github.event_name != 'schedule' || github.repository_owner == 'smithy-lang' | ||
uses: ./.github/workflows/test_models_java_tests.yml | ||
with: | ||
dafny: 'nightly-latest' | ||
dafny-nightly-net: | ||
if: github.event_name != 'schedule' || github.repository_owner == 'smithy-lang' | ||
uses: ./.github/workflows/test_models_net_tests.yml | ||
with: | ||
dafny: 'nightly-latest' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# This workflow runs for every pull request | ||
name: PR CI | ||
|
||
on: | ||
pull_request: | ||
|
||
jobs: | ||
pr-ci-verification: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
dafny-version: [ | ||
4.1.0, | ||
4.3.0 | ||
] | ||
uses: ./.github/workflows/test_models_dafny_verification.yml | ||
with: | ||
dafny: ${{ matrix.dafny-version }} | ||
pr-ci-java: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
dafny-version: [ | ||
4.1.0, | ||
4.3.0 | ||
] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nit: Is there no way to declare this once and reference it elsewhere in this file? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Definitely possible but not nearly as simple as you'd think :) I made the change as I already had to do something similar for Dafny (where we needed a lot more dynamic calculation) |
||
uses: ./.github/workflows/test_models_java_tests.yml | ||
with: | ||
dafny: ${{ matrix.dafny-version }} | ||
pr-ci-net: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
dafny-version: [ | ||
4.1.0, | ||
4.3.0 | ||
] | ||
uses: ./.github/workflows/test_models_net_tests.yml | ||
with: | ||
dafny: ${{ matrix.dafny-version }} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
# This workflow runs for every push to main-1.x | ||
name: Push CI | ||
|
||
on: | ||
push: | ||
branches: | ||
- main-1.x | ||
|
||
jobs: | ||
push-ci-verification: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
dafny-version: [ | ||
4.1.0, | ||
4.3.0 | ||
] | ||
uses: ./.github/workflows/test_models_dafny_verification.yml | ||
with: | ||
dafny: ${{ matrix.dafny-version }} | ||
push-ci-java: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
dafny-version: [ | ||
4.1.0, | ||
4.3.0 | ||
] | ||
uses: ./.github/workflows/test_models_java_tests.yml | ||
with: | ||
dafny: ${{ matrix.dafny-version }} | ||
push-ci-net: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
dafny-version: [ | ||
4.1.0, | ||
4.3.0 | ||
] | ||
uses: ./.github/workflows/test_models_net_tests.yml | ||
with: | ||
dafny: ${{ matrix.dafny-version }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You talk about 4.2 in the PR but don't test it here?
Also, given the repetition of version you may want to pull that out as well.
Just saying
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fair. Although getting to 4.3 across the board is more important than 4.2 in the broader context.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was actually a little worried about creating so many individual GHA jobs by testing on more than 2. As part of a different PR I'd like to first get the parameterization of test models out of workflow files: https://github.com/smithy-lang/smithy-dafny/pull/257/files#diff-a933719600e0ce4e5ada8a6a7a64dfb38e005f6145c00147d9a02a16c69409d7R20-R24 After that I'd be happier to test on more dafnies.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: I am still learning how to best utilize GHA/Ws,
and it seems that GitHub is evolving them as well.
And our test models need to be refactored to an integration test project...