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

feat: introduce autoware-nightly.repos #5440

Merged
merged 15 commits into from
Nov 19, 2024
Merged

feat: introduce autoware-nightly.repos #5440

merged 15 commits into from
Nov 19, 2024

Conversation

youtalk
Copy link
Member

@youtalk youtalk commented Nov 15, 2024

Description

This PR introduces autoware-nightly.repos, which changes the version value to main for the repositories in autoware.repos. This is provided for those who want to try the latest builds, as version control for autoware.universe and autoware_launch has started with #5435.

It also adds a health-check-nightly workflow, which is the version of the health-check workflow targeting autoware-nightly.repos.

Screenshot 2024-11-15 at 14 49 01

Tests performed

Not applicable.

Effects on system behavior

Not applicable.

Interface changes

Pre-review checklist for the PR author

The PR author must check the checkboxes below when creating the PR.

In-review checklist for the PR reviewers

The PR reviewers must check the checkboxes below before approval.

Post-review checklist for the PR author

The PR author must check the checkboxes below before merging.

  • There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
@youtalk youtalk self-assigned this Nov 15, 2024
@youtalk youtalk added type:github-actions Github actions related. (auto-assigned) type:containers Docker containers, containerization of components, or container orchestration. component:openadkit Issues or Features related to Open AD Kit tag:run-health-check Run health-check labels Nov 15, 2024
@youtalk youtalk marked this pull request as ready for review November 15, 2024 05:49
Signed-off-by: Yutaka Kondo <[email protected]>
@youtalk youtalk requested a review from xmfcx November 15, 2024 07:06
mitsudome-r
mitsudome-r previously approved these changes Nov 15, 2024
@xmfcx
Copy link
Contributor

xmfcx commented Nov 15, 2024

I thought we were going to do it the way ROS 2 does.

https://github.com/ros2/ros2/blob/rolling/ros2.repos

High traffic repos pointing to the branches, low traffic pointing to the tags.

@xmfcx
Copy link
Contributor

xmfcx commented Nov 15, 2024

Here is my relevant comment:

For these reasons, I am against to maintaining 2 .repos file at the same time.

Especially the nightly version is pointing to main or a fast branch for most of the things, it is way too volatile. We don't need to do that.

We can just keep maintaining a single .repos file with mix of branch and tags. And keep releasing with frozen tags as before.

The nightly.repos doesn't make much sense to me.

@mitsudome-r
Copy link
Member

@xmfcx Thanks for the comment. Sorry, I forgot about the commen that you made in the discussion.

However, I also think we should at least consider make the default branch of Autoware to be stable.
I found that:

  • Beginners aren't usually aware of the tags that I release every months.
  • I also noticed that old tags also fails to build (e.g., due to deletion of referenced branch)

Therefore, I'm starting to think that we should have a stable branch that is maintained daily.
I'm okay with doing it as two .repos file or having a branch for fixed versions which reports the CI results on daily basis.

Maybe we can raise this as a discussion topic in the next Software WG.

@mitsudome-r mitsudome-r self-requested a review November 15, 2024 08:15
@xmfcx
Copy link
Contributor

xmfcx commented Nov 15, 2024

I understand. I agree that the default branch should always be functioning.

Beginners aren't usually aware of the tags that I release every months.

We should update the instructions on the documentation to fix this.

Neither of the main installation methods mention the tags, that's why.

I also noticed that old tags also fails to build (e.g., due to deletion of referenced branch)

This might be unavoidable for older tags but for the most recent version tag, we can add a CI that runs daily to build and test it.

@mitsudome-r mitsudome-r dismissed their stale review November 15, 2024 08:35

Needs further discussion

@mitsudome-r
Copy link
Member

We should update the instructions on the documentation to fix this.

That's also possible. I thought having a stable branch or repos file would make us easier to maintain the documentation because then we don't have to update the page every time we release a new tag.

@xmfcx
Copy link
Contributor

xmfcx commented Nov 15, 2024

That's also possible. I thought having a stable branch or repos file would make us easier to maintain the documentation because then we don't have to update the page every time we release a new tag.

For that, we can make releases monthly in https://github.com/autowarefoundation/autoware/releases and point to releases page. No need to keep updating the documentation for each new release.

Or for the current state, we can point them to use the latest tag from https://github.com/autowarefoundation/autoware/tags

This is how we did it with AWSIM Labs https://github.com/autowarefoundation/AWSIM-Labs/releases

@xmfcx
Copy link
Contributor

xmfcx commented Nov 18, 2024

Option 1:

  • Stable pointing to only version tags
  • Nightly repos most pointing to branches

Option 2:

  • Stable pointing to only version tags
  • Nightly repos only contains fast changing repos pointing to branches (not duplicating slow and stable repositories)

(I will update this comment)

youtalk and others added 5 commits November 19, 2024 15:57
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
Signed-off-by: Yutaka Kondo <[email protected]>
@youtalk
Copy link
Member Author

youtalk commented Nov 19, 2024

@xmfcx @mitsudome-r Thank you for your suggestions. I minimized the repositories in autoware-nightly.repos. Please review again.

Signed-off-by: Yutaka Kondo <[email protected]>
@xmfcx
Copy link
Contributor

xmfcx commented Nov 19, 2024

https://github.com/autowarefoundation/autoware/actions/runs/11908366324/job/33183658104?pr=5440 has failed, not sure why though.

Cloning into '.'...
=== src/vehicle/sample_vehicle_launch (git) ===
Cloning into '.'...
/home/runner/work/_temp/03b5e0b2-939e-4337-a80a-9ced405f0072.sh: line 4: syntax error near unexpected token `newline'
Error: Process completed with exit code 2.

@youtalk
Copy link
Member Author

youtalk commented Nov 19, 2024

The syntax is no problem. I ran the workflow again...

vcs import src < autoware-nightly.repos
.........
=== src/core/autoware.core (git) ===

Already on 'main'
Your branch is up to date with 'origin/main'.
=== src/launcher/autoware_launch (git) ===

Already on 'main'
Your branch is up to date with 'origin/main'.
=== src/sensor_kit/awsim_labs_sensor_kit_launch (git) ===

Already on 'main'
Your branch is up to date with 'origin/main'.
=== src/sensor_kit/external/awsim_sensor_kit_launch (git) ===

Already on 'main'
Your branch is up to date with 'origin/main'.
=== src/sensor_kit/sample_sensor_kit_launch (git) ===

Already on 'main'
Your branch is up to date with 'origin/main'.
=== src/sensor_kit/single_lidar_sensor_kit_launch (git) ===

Already on 'main'
Your branch is up to date with 'origin/main'.
=== src/universe/autoware.universe (git) ===
From github.com:autowarefoundation/autoware.universe
   a1c3e6dc65..5778e0188c  main       -> origin/main
Already on 'main'
Your branch is behind 'origin/main' by 2 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)
=== src/vehicle/awsim_labs_vehicle_launch (git) ===

Already on 'main'
Your branch is up to date with 'origin/main'.
=== src/vehicle/sample_vehicle_launch (git) ===

Already on 'main'
Your branch is up to date with 'origin/main'.

Signed-off-by: Yutaka Kondo <[email protected]>
@youtalk
Copy link
Member Author

youtalk commented Nov 19, 2024

It seems that the cause is not related to vcs import, so I'm reviewing the shell script. 65e89d1

It was failed...

This reverts commit 65e89d1.
Signed-off-by: Yutaka Kondo <[email protected]>
Co-authored-by: M. Fatih Cırıt <[email protected]>
Copy link
Contributor

@xmfcx xmfcx left a comment

Choose a reason for hiding this comment

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

@youtalk youtalk enabled auto-merge (squash) November 19, 2024 11:46
@youtalk youtalk merged commit abb6b8d into main Nov 19, 2024
17 checks passed
@youtalk youtalk deleted the autoware-nightly branch November 19, 2024 12:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:openadkit Issues or Features related to Open AD Kit tag:run-health-check Run health-check type:containers Docker containers, containerization of components, or container orchestration. type:github-actions Github actions related. (auto-assigned)
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants