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

Feed the next streams update site repository with the contents of M1 / M2 / RC1 / RC2 prior to release #884

Open
laeubi opened this issue Feb 21, 2023 · 8 comments

Comments

@laeubi
Copy link
Contributor

laeubi commented Feb 21, 2023

With the discussion here:

and the first steps to automate most of the "opening" process e.g. here

I noticed that there is actual a little gap in the process regarding the update repository. As noted by @sravanlakkimsetti here, it is usually filled only 5 days before the release and the stream is opened before that.

As this is used to decide what is the "base", this means our builds and verifications running for a while against an possibly outdated baseline if versions are already increased for the next stream.

My proposal therefore would be to fill the repo (e.g in this case https://download.eclipse.org/eclipse/updates/4.27/ ) with the content of the M+RC builds as soon as they are available and not open the stream before the RC1 is published. Then as suggested by @iloveeclipse it would later on even be possible to open the stream after M3.

@laeubi
Copy link
Contributor Author

laeubi commented Feb 21, 2023

Technically the https://download.eclipse.org/eclipse/updates/4.27/ already exits (it is just quite empty) and is a composite repo, so one could think of having simply the following sub-directories:

  • M1
  • M2
  • M3
  • RC1
  • RC2
  • release (what might be a composite with versioned folders like today directly in the root)

The composite repo will then always only point to the most recent one (and finally to the release folder), that way one can either reference to a fixed item, or to the "most recent" in buildscripts or updatesites, and because it has a fixed structure (no timestamps!) could be easily derived by automation workflows from a release number.

@sravanlakkimsetti
Copy link
Member

@akurtakov what do you think? Right now we are not creating milestones repositories. This would require us to create milestone repos.

@akurtakov
Copy link
Member

AFAICS, it's about using the release repo not milestones. I'm fine with doing it that way as long as manual work gets less.

@sravanlakkimsetti
Copy link
Member

AFAICS, it's about using the release repo not milestones. I'm fine with doing it that way as long as manual work gets less.

yes We will need to generate milestone repos and add them to the composite of the release repo. I think this can be done.

I don't think we should revive milestones repo. but we should generate individual miletone repositories and add them to release repo.

@merks
Copy link
Contributor

merks commented Feb 21, 2023

That's much like what happens for https://download.eclipse.org/releases/2023-03/ where we accumulate each M*, RC*, and R repository, we point only to the most recent one from the composite, and then we delete all but the release repository at the end of the release cycle.

@laeubi
Copy link
Contributor Author

laeubi commented Feb 21, 2023

@merks can you maybe give some advice or help to archive this? I think M3 is probably to late but maybe we can start this with RC1 (should be this week?).

@merks
Copy link
Contributor

merks commented Feb 21, 2023

So many of these "maintain a composite" are a bunch shell script glue and everyone has variants thereof...

For SimRel the following effectively copies the staging repo to a repo nested in the appropriate releases folder:

https://ci.eclipse.org/simrel/view/Releng%20jobs/job/simrel.releng.promoteToReleases/

It also prepares the composites jars but with a different name which is then used to make the new repository visible at the correct date and time:

https://ci.eclipse.org/simrel/view/Releng%20jobs/job/simrel.releng.makeVisible/

I think all the job configurations are visible in you're logged in.

Lots of scripts here:

https://git.eclipse.org/c/simrel/org.eclipse.simrel.tools.git/tree/

I make no claims that these are pretty or ideal... I'm much happier using the reusable JustJ tools mechanism but I don't think that would be easy to apply to the platform's existing and more complex update site structure...

@sravanlakkimsetti
Copy link
Member

@merks can you maybe give some advice or help to archive this? I think M3 is probably to late but maybe we can start this with RC1 (should be this week?).

Please take a look at

  1. promoteSites.sh This has code to generate renamed repository. We are not generating separate milestone repositories now. but we used to do that please take a look. as far as I know, we are still using that part of the code for final repository
  2. makeVisible.sh this has the composite creation code.

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

No branches or pull requests

4 participants