Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 566514

Summary: Transfer repos & maintenance tasks for Embedded CDT
Product: Community Reporter: Liviu Ionescu <ilg>
Component: GitHubAssignee: Eclipse Webmaster <webmaster>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: denis.roy, frederic.desbiens, frederic.gurr, jonah
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Mac OS X   
Whiteboard:
Attachments:
Description Flags
Travis pending request none

Description Liviu Ionescu CLA 2020-08-31 05:03:14 EDT
Hi,

We need to perform the following maintenance tasks for the Embedded CDT project:

- migrate gnu-mcu-eclipse/org.eclipse.epp.packages (https://github.com/gnu-mcu-eclipse/org.eclipse.epp.packages)
- migrate gnu-mcu-eclipse/web-jekyll (https://github.com/gnu-mcu-eclipse/web-jekyll)
- migrate gnu-mcu-eclipse/web-preview (https://github.com/gnu-mcu-eclipse/web-preview)
- associate Travis CI jobs to convert web-jekyll to html and publish on web-preview and eclipse git; this also requires to define a GitHub access token to be passed to Travis, and an access key/token for pushing into Eclipse git; later on we'll migrate this job to GitHub Action, but for now the script is for Travis
- add an icon to the GitHub organization (https://github.com/eclipse-embed-cdt), description and possibly other metadata; this will probably require several iteration, we'll start with the icon from GNU MCU Eclipse and improve it over time

The plan for the project web is to have the Jekyll source code in the web-jekyll repo, with master, develop (and possibly other) branches; a Travis job will trigger for each push, and, if it is in the master branch, generate the html content and push it to www.eclipse.org/embed-cdt.git; changes in all other branches will be pushed to web-preview, which will be visible as http://eclipse-embed-cdt.github.io/web-preview/.

From the documentation I read, it looks like, in order to publish the web site, I have to push the content to

ssh://lionescu@git.eclipse.org:29418/www.eclipse.org/embed-cdt.git


Is this ok? Any example on how to do this from Travis? (I still need to figure out how to pass the Eclipse ssh authentication data to the Travis job...)


Given the number of steps and the continuous maintenance operations planned, please grant me full administrative rights for the eclipse-embed-cdt organization, since it is not reasonable to spend more time explaining you exactly what needs to be done when it takes me less time to do the actual tasks.

I have nothing against (on the contrary I would appreciate) you watching over my shoulder and possibly pulling my ears if I do something stupid, but given that I managed the project alone for more than 10 years, I guess I can manage it in the new conditions as well.
Comment 1 Frederic Gurr CLA 2020-08-31 10:48:41 EDT
With regards to publishing to www.eclipse.org/embed-cdt.git:

Currently we only support pushing to the www repo via the project's Jenkins instance, see:
https://wiki.eclipse.org/Jenkins#How_to_build_my_project.27s_website_with_Jenkins.3F
Comment 2 Liviu Ionescu CLA 2020-08-31 11:07:02 EDT
>  we only support pushing to the www repo via the project's Jenkins

Then we either 

- find a solution to push to the www git from Travis & GitHub Actions, or 
- find a solution to generate the Jekyll site via Jenkins, but in this case we also need to publish the result on GitHub if not the master branch
- discover a third solution

Otherwise we'll not be able to host the Embedded CDT web on the Eclipse servers.

All my sites are generated with Jekyll, as recommended by GitHub pages. I have no experience with Hugo, and no time to study it.
Comment 3 Frederic Gurr CLA 2020-08-31 11:10:50 EDT
AFAIK other projects have been using Jekyll before. Hugo is just our recommendation.
Comment 4 Liviu Ionescu CLA 2020-08-31 13:04:57 EDT
> other projects have been using Jekyll before

Great, this means all we have to do is identify the best solution, since the documentation is of little help here.
Comment 5 Liviu Ionescu CLA 2020-09-01 01:28:16 EDT
Please note that by the end of the week it is planned to make the public announcement of the Aarch64 beta release of Eclipse Embedded CDT in the Raspberry Forums, and by then the public web, or at least the public preview web, should be available, so I would appreciate an expedite processing and granting the required rights in order to continue my work, since it would be weird to announce this and still use the old gnu-mcu-eclipse.github.io address.
Comment 6 Eclipse Webmaster CLA 2020-09-01 09:26:03 EDT
If you're more comfortable using Githubs tools, then why not keep the Embedded CDT website there and just commit a redirect to www.eclipse.org/embed-cdt to point requests to http://eclipse-embed-cdt.github.io ?

-M.
Comment 7 Liviu Ionescu CLA 2020-09-01 09:55:48 EDT
I'm definitely more comfortable with GitHub tools then Jenkins. Please grant me the necessary rights to administer eclipse-embed-cdt and I can set everything there.

However please note that this practically breaks your own requirements to store the project webs on the Eclipse servers, and have https://www.eclipse.org/embed-cdt as public URL.

This happens because once the  http://eclipse-embed-cdt.github.io is made public, users will start to bookmark it and the redirect that you mentioned will not even be necessary, because that URL is not used anyway.

I suggest we do it in two steps

- first set everything to have the preview web site up and running on GitHub, since this is required before the public beta announcement in the weekend
- second decide what we do with the main web site, if it will be hosted by GitHub or by Eclipse.
Comment 8 Eclipse Webmaster CLA 2020-09-01 16:35:40 EDT
For the migrations you'll need to invite 'eclipsewebmaster' to the admin team for those repos, and then we'll move them into the Github Eclipse organization, and add them to the PMI which will let the sync tooling manage access.

As to 'breaking' our requirements, I don't think that's accurate.  We encourage projects to use www.eclipse.org/shortname for their website.  However with the adoption of Github for code storage, it makes sense to allow teams to store their websites there as well.  

-M.
Comment 9 Liviu Ionescu CLA 2020-09-01 16:53:03 EDT
> invite 'eclipsewebmaster'

Done, for all 3 projects.

I am curious how you will configure the Travis job that converts the web-jekyll into web-preview.

And how you will set the organization icon to match the one from the previous organization.

> with the adoption of Github for code storage, it makes sense to allow teams to store their websites there as well

Ok. Then GitHub will be. 

Just migrate them and be sure you preserve my admin right on the projects.

Please let me know when ready, to update my local clones.
Comment 10 Liviu Ionescu CLA 2020-09-02 02:42:06 EDT
I added a new project that needs to be transfered (https://github.com/gnu-mcu-eclipse/assets). 

Inside you'll find a gme-256-alfa.png file to be used as GitHub organization image.
Comment 11 Eclipse Webmaster CLA 2020-09-02 11:39:34 EDT
Ok I've transferred these repos into the eclipse-embed-cdt organization.  I've also updated the PMI so embedded-cdt committers that have added their Github IDs to their Eclipse.org accounts should receive access in an hour or so when the sync tool runs.

I've also updated the organization logo with the requested image.

-M.
Comment 12 Liviu Ionescu CLA 2020-09-02 11:57:44 EDT
Thank you, I confirm, the repos were transferred.

Now comes the second step, to configure the Travis job in web-jekyll to build the html content and publish it to web-preview.


And, if the decision to use GitHub to store the project web is final, we also need to create the eclipse-embed-cdt.github.io project and allow me to publish the content from the same Travis job as before.
Comment 13 Liviu Ionescu CLA 2020-09-04 02:42:08 EDT
Sorry to say, but we are getting nowhere like this. :-(

More than one week ago I sent a request from Travis asking permission to connect it to my projects to automate web site creation. Travis still list the request as pending.

On Monday 2020-08-31 05:03:14 EDT, I registered this ticket, for an action that normally should have not taken me more than 20-30 minutes to complete.

Today, Friday, after 4 days and 12 comments registered, I spent more time explaining and arguing, than I would have spent maintaining the project myself, not to mention that the issue is still not fully solved, the web site repository does not yet exist and processing the jekyll sources needs to be done manually on my local workstation. 

---

The Eclipse Foundation should stop considering the developers as dangerous enemies of the state that should constantly be restricted and scrutinised. Your procedures might have been fine for some projects in the past, but for 2020 and with the projects hosted on GitHub, your procedures are not only outdated, but very inefficient, to the point that the Eclipse Foundation does NO longer help the developers, but is simply wasting our precious time, plus is adding a lot of frustration.

Please stop this absurd situation and allow me to manage MY project.
Comment 14 Frederic Gurr CLA 2020-09-04 06:08:10 EDT
(In reply to Liviu Ionescu from comment #13)
> More than one week ago I sent a request from Travis asking permission to
> connect it to my projects to automate web site creation. Travis still list
> the request as pending.
I don't know what you did, but I did not find any trace of a request reaching us. The Travis CI integration has been set up now.
Comment 15 Liviu Ionescu CLA 2020-09-04 06:13:49 EDT
Created attachment 284045 [details]
Travis pending request
Comment 16 Liviu Ionescu CLA 2020-09-04 06:17:52 EDT
> I don't know what you did, but I did not find any trace of a request reaching us.

I did a very complicated thing, I pressed the Grant button.

Just that it was from travis-ci.org, since I had no idea that you are using travis-ci.com.

Please reject the shown request, or disable access for travis-ci.org, to clear this flag in my Travis account.
Comment 17 Frederic Gurr CLA 2020-09-04 06:22:27 EDT
https://github.com/eclipse-embed-cdt/eclipse-embed-cdt has been created and added to the PMI. You will gain access once the sync script runs (~1h).
Comment 18 Liviu Ionescu CLA 2020-09-04 06:25:25 EDT
> https://github.com/eclipse-embed-cdt/eclipse-embed-cdt 

What is that for?
Comment 19 Frederic Gurr CLA 2020-09-04 06:37:08 EDT
(In reply to Liviu Ionescu from comment #18)
> > https://github.com/eclipse-embed-cdt/eclipse-embed-cdt 
> 
> What is that for?
Copy & paste error. I meant to create:
=> https://github.com/eclipse-embed-cdt/eclipse-embed-cdt.github.io
Comment 20 Frederic Gurr CLA 2020-09-04 06:38:20 EDT
(In reply to Liviu Ionescu from comment #16)
> Please reject the shown request, or disable access for travis-ci.org, to
> clear this flag in my Travis account.
After some digging, I found the right settings (Third-party access) and denied your request.
Comment 21 Liviu Ionescu CLA 2020-09-04 06:42:15 EDT
> https://github.com/eclipse-embed-cdt/eclipse-embed-cdt.github.io

That's better.

Be sure you explicitly add me to the Admin list, as for all other projects.
Comment 22 Liviu Ionescu CLA 2020-09-04 06:43:06 EDT
> I found the right settings (Third-party access) and denied your request

I confirm, it went away. Thank you.
Comment 23 Liviu Ionescu CLA 2020-09-04 10:03:09 EDT
You created the eclipse-embed-cdt.github.io repo, and I have access to manage it, but I do not see eclipsewebmaster listed as admin for this project, as it is for the other repos, and should be for this one too.

Please note that I never asked exclusive admin rights to this GitHub organisation/projects, I always asked co-administrator rights, which means I can do things much faster (without having to wait during weekends and public holidays), and you can review and possibly adjust details for everything to be ok.
Comment 24 Frederic Gurr CLA 2020-09-04 10:28:42 EDT
No worries. Since webmaster created the repo it already had admin access, but I've added it explicitly to make it more obvious.