I'm not sure if we're on the same page as to what Gitlab is. Gitlab is an independent system, alternative to git.eclipse.org and Gerrit. For those projects that migrate, we'd expect to (eventually, but soon after) delete the repository on git.eclipse.org/c/...
Let me know when you want to cut over the repo from git.eclipse.org to GitLab. I would then delete the repo on Gitlab, then reimport it from git.eclipse.org and mark it as read-only.
You can continue to use Jenkins, we have no immediate plans for Gitlab's CI.
@droy We would like to cut over the repo from git.eclipse.org to GitLab.
As you suggested, it would be preferred to keep git.eclipse.org and mark it as read-only.
Hi Alberto, please confirm: Can we do that at any time?
Also: We have a process for importing Open (not closed) Bugzilla bugs into Gitlab (see https://gitlab.eclipse.org/eclipsefdn/gitlab/-/issues/3). Would you be willing to try that too? If so, are you interested in also migrating closed bugs (if possible) ?
Question: In the jobs of Jenkins, the current url is: ssh://genie.chess@git.eclipse.org:29418/chess/chess.
How will it change? The genie credentials will remain the same?
@cguindon@fgurr How can we get the genie accounts into Gitlab? If we have passwords, we can just "log in" manually but it would be nice to do this automatically.
Unfortunately not. My apologies - I did not think that deleting the repo would delete the issues, but thinking back, this makes sense, as Gitlab considers it a project.
@cguindon perhaps @fgurr can help answer the question about keys. Since the CI system needs to log into Gitlab to write data, I would suspect keys are needed.
We use the "devel" branch for internal development. We keep the "master" only for the official release.
The common use case is that the developer creates a MR from the "devel" branch. When we want to release an official version of CHESS, the "devel" branch is merged into the "master".
I don't know the implications to have the "devel" branch as default branch.
I have problems executing jobs of Jenkins.
I changed the remote repository of this job, from "git://git.eclipse.org/gitroot/chess/chess.git" to "git://gitlab.eclipse.org:eclipse/chess/chess.git" .
If you are not pushing commits to the repo during a build, you can use https://gitlab.eclipse.org/eclipse/chess/chess.git. If you are planning to push commits to the GitLab repo, let us know and we will set up SSH credentials.
For other jobs I push new commits, e.g. I merge a specific branch into the branch "devel".
I've set up a Chess GitLab bot user and a SSH key. The SSH credentials have also been added to the Chess Jenkins instance (credentials ID: gitlab-bot-ssh). Please test, if pushing commits works as expected. If it does not work, please create a new dedicated GitLab issue for it.
I started from scratch: I cloned the CHESS repo, then I created a new branch and push it.
I received the following message:
git push origin test_branchTotal 0 (delta 0), reused 0 (delta 0)remote: /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/json-2.3.0/lib/json/common.rb:156:in `parse': 783: unexpected token at '{"author": {"name":"Alberto Debiasi","mail":"adebiasi@fbk.eu"},"committer":{"name":"Alberto Debiasi","mail":"adebiasi@fbk.eu"},"body":"Merge branch 'devel' of https://git.eclipse.org/r/chess/chess.git into devel Conflicts: org.polarsys.chess.parent/releng/org.polarsys.chess.configuration/pom.xml Change-Id: I0bc884825719dba819a81d5b85cc060560e52b2a ","subject":"Merge branch 'devel' of https://git.eclipse.org/r/chess/chess.git into devel","hash":"a973eb803ed378ce843c434122cce10d04f39ea3", "parents":["bdc5ed15ebf1ea4b0c0b3166c9fddf3ff2c2da63", "121776d103025288222a391f0132516e4e919940"]} ' (MultiJson::ParseError)remote: from /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/json-2.3.0/lib/json/common.rb:156:in `parse'remote: from /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/multi_json-1.14.1/lib/multi_json/adapters/json_common.rb:14:in `load'remote: from /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/multi_json-1.14.1/lib/multi_json/adapter.rb:21:in `load'remote: from /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/multi_json-1.14.1/lib/multi_json.rb:122:in `load'remote: from /opt/gitlab/embedded/service/gitlab-shell/hooks/pre-receive.d/eca.rb:52:in `block in <main>'remote: from /opt/gitlab/embedded/service/gitlab-shell/hooks/pre-receive.d/eca.rb:44:in `each'remote: from /opt/gitlab/embedded/service/gitlab-shell/hooks/pre-receive.d/eca.rb:44:in `<main>'remote: /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/json-2.3.0/lib/json/common.rb:156:in `parse': 783: unexpected token at '{"author": {"name":"Alberto Debiasi","mail":"adebiasi@fbk.eu"},"committer":{"name":"Alberto Debiasi","mail":"adebiasi@fbk.eu"},"body":"Merge branch 'devel' of https://git.eclipse.org/r/chess/chess.git into devel Conflicts: org.polarsys.chess.parent/releng/org.polarsys.chess.configuration/pom.xml Change-Id: I0bc884825719dba819a81d5b85cc060560e52b2a ","subject":"Merge branch 'devel' of https://git.eclipse.org/r/chess/chess.git into devel","hash":"a973eb803ed378ce843c434122cce10d04f39ea3", "parents":["bdc5ed15ebf1ea4b0c0b3166c9fddf3ff2c2da63", "121776d103025288222a391f0132516e4e919940"]} ' (JSON::ParserError)remote: from /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/json-2.3.0/lib/json/common.rb:156:in `parse'remote: from /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/multi_json-1.14.1/lib/multi_json/adapters/json_common.rb:14:in `load'remote: from /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/multi_json-1.14.1/lib/multi_json/adapter.rb:21:in `load'remote: from /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/multi_json-1.14.1/lib/multi_json.rb:122:in `load'remote: from /opt/gitlab/embedded/service/gitlab-shell/hooks/pre-receive.d/eca.rb:52:in `block in <main>'remote: from /opt/gitlab/embedded/service/gitlab-shell/hooks/pre-receive.d/eca.rb:44:in `each'remote: from /opt/gitlab/embedded/service/gitlab-shell/hooks/pre-receive.d/eca.rb:44:in `<main>'To https://gitlab.eclipse.org/eclipse/chess/chess.git ! [remote rejected] test_branch -> test_branch (pre-receive hook declined)error: failed to push some refs to 'https://gitlab.eclipse.org/eclipse/chess/chess.git'
We have successfully applied a fix for the JSON parsing error.
Unfortunately, we found another issue with the ECA check. It currently does not allow to push a commit or create a branch in the CHESS project, due to an old commit where the author is (no longer) a committer of the project and the signed-off part is missing. We are investigating.
We've created a patch that address a couple of the issues encountered (just awaiting approval before we push to this instance). We won't check forks/non-project repos going forward to enable pushing to a fork no matter the state of the current branch. When pushing to a project repo, we compare to the default branch (devel in this case iirc) and check for commits not present in that branch. This should fix your issues with old unsigned commits! There are a couple of other minor issues we are looking to solve, but they should be non-blocking in this case
@adebiasi We've applied a patch that should unblock commits to forks fully, and should fix the issue where we were checking too many commits. Let us know if we've resolved the issue! :)