Skip to content
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

Track and test dependencies' 'next' branch #732

Conversation

tgonzalezorlandoarm
Copy link
Member

parsec depends on several repositories under the parallaxsecond organization.

Currently, when testing the main branch of parsec, fixed versions of the latest released crates of those repositories are being used.
A problem may arise when there is a change introduced in the main/'next' branch of those repositories that would break parsec when updating/incorporating that change. This is currently not being tested in our CI.
As parsec release is dependent on having published the dependencies' crates, there are issues that will not be caught until the publishing of said crates.

  • Add nightly jobs that use ci.sh --next-branch-tracking to test the
    next release branches of parallaxsecond repositories and spot
    issues before release. These jobs make use of previously defined
    re-usable actions and utils/release_tracking.py

@tgonzalezorlandoarm tgonzalezorlandoarm added the testing Task related to testing label Nov 6, 2023
@tgonzalezorlandoarm tgonzalezorlandoarm self-assigned this Nov 6, 2023
@tgonzalezorlandoarm tgonzalezorlandoarm requested a review from a team as a code owner November 6, 2023 17:24
@tgonzalezorlandoarm
Copy link
Member Author

tgonzalezorlandoarm commented Nov 6, 2023

Please check the added test results in my fork:

@tgonzalezorlandoarm
Copy link
Member Author

tgonzalezorlandoarm commented Nov 6, 2023

I will generate, after this one gets merged, a follow up PR creating a utils/cargo-commands.py for gathering together the cargo calls from the 2 scripts that we have in the utils/ directory right now. I will also be simplifying the re-usable actions there.

utils/release_tracking.py Show resolved Hide resolved
utils/release_tracking.py Outdated Show resolved Hide resolved
utils/release_tracking.py Show resolved Hide resolved
utils/release_tracking.py Outdated Show resolved Hide resolved
utils/release_tracking.py Outdated Show resolved Hide resolved
utils/release_tracking.py Outdated Show resolved Hide resolved
utils/release_tracking.py Outdated Show resolved Hide resolved
utils/release_tracking.py Outdated Show resolved Hide resolved
@tgonzalezorlandoarm
Copy link
Member Author

https://github.com/tgonzalezorlandoarm/parsec/actions/runs/6786709261 new test on my fork after these changes

@tgonzalezorlandoarm
Copy link
Member Author

@tgonzalezorlandoarm tgonzalezorlandoarm force-pushed the tg/main-branch-with-ci branch 2 times, most recently from b81ca7a to b643f67 Compare November 8, 2023 16:03
@tgonzalezorlandoarm
Copy link
Member Author

@tgonzalezorlandoarm tgonzalezorlandoarm force-pushed the tg/main-branch-with-ci branch 2 times, most recently from 7bc47d5 to 6185b22 Compare November 13, 2023 17:47
@tgonzalezorlandoarm
Copy link
Member Author

parsec depends on several repositories under the parallaxsecond
organization.

 * Add a utils script to change the Cargo.toml and Cargo.lock
   files to start tracking the 'next' branches of those repositories.
   This script also builds the dependencies and parsec so that it can
   be used later on.

Signed-off-by: Tomás González <[email protected]>
parsec depends on several repositories under the parallaxsecond
organization.

* Add a flag option (--test-next-branch-tracking) in ci.sh to track
  the 'test-next' branches of said repositories and test parsec with
  those updates. This test makes use of utils/release_tracking.py

Signed-off-by: Tomás González <[email protected]>
ci.sh has been changed to support the --next-branch-tracking flag.
This flag will not be used in the jobs defined in ci.yml but it
will used in those jobs in a nightly frequency.

 * Set-up base job definitions that are going to be re-used in
   different workflows.
 * Use those re-usable actions in the ci.yml the same way that
   they were being used before.

Signed-off-by: Tomás González <[email protected]>
parsec depends on several repositories under the parallaxsecond
organization.

Currently, when testing the main branch of parsec, fixed versions of
the latest released crates of those repositories are being used.
A problem may arise when there is a change introduced in the
main/'test-next' branch of those repositories that would break parsec
when updating/incorporating that change. This is currently not being
tested in our CI.
As parsec release is dependent on having published the dependencies'
crates, there are issues that will not be caught until the publishing
of said crates.

* Add nightly jobs that use ci.sh --test-next-branch-tracking to test
  the next release branches of parallaxsecond repositories and spot
  issues before release. These jobs make use of previously defined
  re-usable actions.

Signed-off-by: Tomás González <[email protected]>
 * cargo update before building is key for avoiding an unused patch
   version, as the version in the Cargo.lock file will otherwise be
   preferred.
 * Improve python code quality.

Signed-off-by: Tomás González <[email protected]>
Copy link
Collaborator

@minosgalanakis minosgalanakis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@gowthamsk-arm gowthamsk-arm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks.

@tgonzalezorlandoarm tgonzalezorlandoarm merged commit b025029 into parallaxsecond:main Nov 20, 2023
13 checks passed
@tgonzalezorlandoarm tgonzalezorlandoarm deleted the tg/main-branch-with-ci branch March 18, 2024 16:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
testing Task related to testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants