DataflowTemplates
DataflowTemplates copied to clipboard
Gitactions improvements
This PR provides several improvements to the existing gitactions framework
- Modularized workflows
- There was a lot of repeated code that is now modularized to reduce duplication and provide single place to define versioning of dependency actions (other than actions/checkout which is needed in each job to make sure code is up-to-date)
- Updated dependencies
- Numerous libraries were throwing deprecation warnings, so those have been updated
- Added scheduled workflows for Unit Tests, IT's, Load Tests and Smoke Tests
- These workflows are scheduled to run every 6 hours, and there will be status badges added to main page to track status of the various workflows
- They will also be able to be run as dispatch jobs using a branch passed as an input
- All workflows not run against a PR (release and scheduled workflows) will now have a site report published as an aritfact
- The action currently used to publish a test report only works for PR runs, resulting in sifting through messy logs for release failures. The site report will now be published as an artifact and can be downloaded and run in a browser to get an organized view of the test failure(s)
- Various other cleanup to improve organization and runtime of the actions
All workflows tested on personal fork
- Release: https://github.com/Polber/DataflowTemplates/actions/runs/8899421405
- Java Build: https://github.com/Polber/DataflowTemplates/actions/runs/8899925234
- Java Unit Tests: https://github.com/Polber/DataflowTemplates/actions/runs/8899927780
- Java Integration Tests: https://github.com/Polber/DataflowTemplates/actions/runs/8899926003
- Java Smoke Tests: https://github.com/Polber/DataflowTemplates/actions/runs/8899926914
- Java PR: https://github.com/Polber/DataflowTemplates/actions/runs/8899944601 (With failing tests)
- Java PR: https://github.com/Polber/DataflowTemplates/actions/runs/8900110084 (With successful tests)
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 0.00%. Comparing base (
b7f8c2b
) to head (4e4b304
).
:exclamation: Current head 4e4b304 differs from pull request most recent head fa87c37. Consider uploading reports for the commit fa87c37 to get more accurate results
Additional details and impacted files
@@ Coverage Diff @@
## main #1495 +/- ##
============================================
- Coverage 40.45% 0.00% -40.46%
============================================
Files 732 250 -482
Lines 41628 13789 -27839
Branches 4475 1477 -2998
============================================
- Hits 16842 0 -16842
+ Misses 23319 13789 -9530
+ Partials 1467 0 -1467
Components | Coverage Δ | |
---|---|---|
spanner-templates | 0.00% <ø> (-56.11%) |
:arrow_down: |
spanner-import-export | ∅ <ø> (∅) |
|
spanner-live-forward-migration | 0.00% <ø> (-61.24%) |
:arrow_down: |
spanner-live-reverse-replication | 0.00% <ø> (-42.54%) |
:arrow_down: |
spanner-bulk-migration | 0.00% <ø> (-70.56%) |
:arrow_down: |
Also this large PR contains many changes to the test infrastructure. I would suggest split into smaller PRs and merge one/several a time to reduce the distraction to the developments.
Yeah, I agree with this; I like the direction of this set of changes generally, but splitting into smaller prs will make it much easier to review/revert if certain components are broken at all (this is especially important since testing CI is hard and can't be done in an obvious automatic way)
Fair enough. Smaller PR's TBD. Thanks
Opened #1519, #1520, #1521, #1522 and #1523