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

How to build and find stable branch #1

Merged
merged 5 commits into from
Mar 21, 2023

Conversation

gautam1168
Copy link

No description provided.

@gautam1168
Copy link
Author

@mattgodbolt I am opening this pull request primarily to answer the question you asked about which branch to build. I have answered that in the PR in the last section. But I will repeat again here. v8 releases are tied to chrome releases. And every time a chrome release happens a new branch is created in v8 for that release. The name of this branch can be found for linux by looking up the true branch column in this page: https://omahaproxy.appspot.com/ and prefixing it with chromium. So for example the branch right now that is stable on linux is chromium/5563

I built this docker image today on my local machine but I didn't see the build.sh file inside the /root directory. I am not sure why that is the case. But Ill figure it out and try running the build.sh script. However one line would require a change in the build.sh file. Namely

if echo ${VERSION} | grep 'trunk'; then
	VERSION="trunk-$(date +%Y%m%d)"
	BRANCH="main"
else
	BRANCH="branch-heads/${VERSION}"
fi

will have to be changed to

if echo ${VERSION} | grep 'trunk'; then
	VERSION="trunk-$(date +%Y%m%d)"
	BRANCH="main"
else
	BRANCH="chromium/${VERSION}"
fi

As this blog post is saying https://v8.dev/docs/release-process. the branch-heads/x.y versions are just beta branches that get promoted to stable in v8. While the chromium/number branches are the v8 version existing in the latest versions of chrome. I am not sure which one of these you would like to go with.

I will try to figure out why the build.sh is not showing up in my container, as well as write a small script to get the latest of these numbers out of omahaproxy automatically. Meanwhile please tell me if you know which one of these stable versions should be put up on ce.

@jakobkummerow
Copy link

When our documentation says "use the tip of the branch" (in this case branch-heads/11.1), we mean it.

for example the branch right now that is stable on linux is chromium/5563

That is incorrect. The V8 chromium/5563 branch was created for the Chrome 111.0.5563.0 Canary. It served as the base point for the 11.1 branch, which was stabilized (by merging fixes to it) along with Chrome 111. The Chrome 111.0.5563.64 stable build contains the V8 version that was the tip of branch-heads/11.1 when that Chrome build was built (a few days before its release).

I will [...] write a small script to get the latest of these numbers out of omahaproxy automatically

Be advised that omahaproxy is (unfortunately) going away in a few weeks.

@gautam1168
Copy link
Author

@jakobkummerow thankyou for helping 😊 🙇.

@mattgodbolt so to get the latest version we can just list the branches that start with branch-heads and take the latest one. This simplifies things.

@gautam1168
Copy link
Author

gautam1168 commented Mar 19, 2023

@mattgodbolt @jakobkummerow I have updated the readme with a command at the end to find the latest version. I used chat-gpt to generate that command. @mattgodbolt note that the change I mentioned in my first comment is not needed thanks to the information that @jakobkummerow provided. I am not sure how ce figures out which version it should give the build command, but you can get that version using the command in the last section of the readme in this PR.

Copy link
Member

@mattgodbolt mattgodbolt left a comment

Choose a reason for hiding this comment

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

Thanks! i appreciate the documentation; though I have a number of comments about how to improve it, and a query about the part at the end.

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@gautam1168
Copy link
Author

gautam1168 commented Mar 20, 2023

I have updated the PR to add the changes as you suggested. Also I have fixed the error in the last command. That was a paste error because of my windows terminal.

Although I have updated the shell command as you suggested, I use a permanent container instead of a temporary one. Because I just restart that container and do stuff with the d8 executable and then stop it again. But I guess anyone who is going to set this much up can figure out how to make a persistent container as well.

Copy link
Member

@mattgodbolt mattgodbolt left a comment

Choose a reason for hiding this comment

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

Thanks!

@mattgodbolt mattgodbolt merged commit a07b811 into compiler-explorer:main Mar 21, 2023
@gautam1168
Copy link
Author

gautam1168 commented Mar 21, 2023

I will update my PR compiler-explorer/compiler-explorer#4721 today to use the build made by this container.

@mattgodbolt
Copy link
Member

Thanks @gautam1168 for your patience in this.

@gautam1168
Copy link
Author

I am over here thinking you must be getting annoyed by the slow pace at which I'm doing things. I assure you I myself am thoroughly enjoying this experience. And I love it every time @jakobkummerow responds to correct something I'm doing as well. I hope I don't end up annoying him and driving him away either 😅. I am fascinated by v8 and I welcome any opportunity to learn more about it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants