Project

General

Profile

Task #1481

Bibisect repositories

Added by Florian Effenberger about 6 years ago. Updated about 1 year ago.

Status:
In Progress
Priority:
Normal
Target version:
Team - Recurring
Start date:
Due date:
% Done:

0%


Description

We want to have our own TDF-provided Bibisect repositories.
The scope of this ticket is to regularly produce Bibisect repositories for

  • Windows
  • Linux
  • Mac OS X

with all the flavors and branches we need. These should be produced by TDF staff, on officially TDF-hosted machines. The platform should be maintained by infra, while the Bibisect repositories should be managed by assignee.

How to setup a new repository ( using lode )
- ./setup --help
- ./setup --new bibisect/coreXX
- mv /dev/bibisect/coreXX to bibisect/
- copy autogen.input from previous builds to the current one
- copy old .bibisect/loXX to .bibisect/loYY
- edit the new loYY
- go to jenkins - new item - copy existing item ( lo_bibisect_XX_Y_Y )

How to setup a new repository in gerrit
- https://gerrit.libreoffice.org/#/admin/create-project/
- Write project name ( use these as reference --> https://gerrit.libreoffice.org/#/admin/projects/?filter=bibisect )
- Change rights to 'Inherit from Dev-ACL-Template'
- ssh p 22
cd /srv/repositories/<new repository name>
- copy config file from another existing repository
- Edit the config file
- touch git-daemon-export-ok
- git remote update ( While the origin repo is not being built )

Use this script < https://cgit.freedesktop.org/libreoffice/contrib/dev-tools/tree/bibisect/buildReleasesRepository.sh > for building bibisect-linux-64-releases

#1

Updated by Florian Effenberger almost 6 years ago

  • Assignee changed from Robinson Tryon to Christian Lohmaier
  • Target version deleted (Q4/2015)

Moving to Cloph's pile, but un-milestoned yet - let's revisit next year if we still need this and who carries it out; so no action required from your side for the moment, Cloph

#2

Updated by Florian Effenberger almost 6 years ago

  • Assignee deleted (Christian Lohmaier)
#3

Updated by Xisco Fauli Tarazona over 4 years ago

  • Assignee set to Xisco Fauli Tarazona

I'm already taking care of creating the bibisect repositories. it's done using jenkins. Assigning it to myself

Link: https://gerrit.libreoffice.org/#/admin/projects/?filter=bibisect

#4

Updated by Florian Effenberger over 4 years ago

  • Status changed from New to In Progress
  • Target version set to Recurring
#5

Updated by Xisco Fauli Tarazona over 4 years ago

  • File downloadRelease.sh added

On the other hand, the 'releases' repository [1] is created using the script attached.

Usage: bash downloadRelease.sh <folder's name from https://downloadarchive.documentfoundation.org/libreoffice/old/>

[1] https://wiki.documentfoundation.org/QA/Bibisect/Linux#releases

#6

Updated by Florian Effenberger over 3 years ago

To keep track of this, we briefly chatted about having Mac bibisect repositories on the new box

#7

Updated by Florian Effenberger over 3 years ago

Any need for action here?

#8

Updated by Xisco Fauli Tarazona over 3 years ago

Florian Effenberger wrote:

Any need for action here?

No need for action here. I do it regularly....

#9

Updated by Florian Effenberger over 2 years ago

Checking back on this one - all going well, anything blocking and/or required? Or all going well?

#10

Updated by Xisco Fauli Tarazona over 2 years ago

Florian Effenberger wrote:

Checking back on this one - all going well, anything blocking and/or required? Or all going well?

All going well. Bisect repositories are updated once a week in average

#11

Updated by Xisco Fauli Tarazona over 2 years ago

  • Description updated (diff)
#12

Updated by Xisco Fauli Tarazona over 2 years ago

  • Description updated (diff)
#13

Updated by Xisco Fauli Tarazona about 2 years ago

  • File downloadRelease.sh added
#14

Updated by Xisco Fauli Tarazona about 2 years ago

  • File deleted (downloadRelease.sh)
#15

Updated by Xisco Fauli Tarazona about 2 years ago

  • File deleted (downloadRelease.sh)
#16

Updated by Xisco Fauli Tarazona about 2 years ago

  • Description updated (diff)
#17

Updated by Guilhem Moulin almost 2 years ago

With the upcoming gerrit upgrade/refactoring I'd like to take the opportunity to consolidate that too. Details were agreed upon with Xisco Fauli Tarazona on IRC:

  • Bibisect repos are no longer advertised at https://gerrit.libreoffice.org/#/admin/projects (nor served by the gerrit service). Using gerrit for the bibisect-* projects are overkill because 1/ no change set are ever submitted; 2/ they clutter the project list; 3/ the ACLs are trivial (read access is enabled for everyone, push are forbidden for everyone).
  • Furthermore I'm not at all comfortable about opening remote shell access to service users like gerrit.

The bibisect repos are now available for anonymous `git fetch` from https://bibisect.libreoffice.org/$PLATFORM-$VERSION.git . For backward compatibility one can still fetch the active bibisect repositories (6.3 to 6.5) from the old insecure URLs git://gerrit.libreoffice.org/bibisect-$PLATFORM-$VERSION.git , however git:// support will not be added to >6.5 repositories, and will be entirely deprecated once 6.5 bibisect repositories are no longer active. Xisco updated the Wiki page to reflect these changes.

The new workflow involves a dedicated user and hostname: `ssh bibisect@bibisect.libreoffice.org`.

  • Creation:
$ git init --bare --quiet ~bibisect/repositories/linux-64-6.5.git
$ git -C ~bibisect/repositories/linux-64-6.5.git remote add -f \
      --mirror=fetch origin ssh://username@hostname/path/to/repo.git
Updating origin
[…]

(No need to create the magic file git-daemon-export-ok anymore. Repositories under ~bibisect/repositories are all public, and all exposed to git-http-backend(1), which runs as an unprivileged dynamic user. Don't put any private world-readable repositories in there!)

  • Update (while the remote is not being built)
$ git -C ~bibisect/repositories/linux-64-6.5.git remote update
Fetching origin
[…]

(This is for a fetch-based workflow, like was done up to now. For a push-based workflow one would instead need to push to ssh:/~/repositories/linux-64-6.5.git from the original repository.)

#18

Updated by Guilhem Moulin almost 2 years ago

Or better, creation + fetch in a single command:

$ git clone --bare --mirror --template ~bibisect/templates \
    ssh://username@hostname/path/to/repo.git \
    ~bibisect/repositories/linux-64-6.5.git
Cloning into bare repository…
[…]

Either way, please use --template= as above (I forgot it in msg#17) in your creation recipe. There is not much in the template right now, but should the need to tune configuration options arise, the use --template= will allow us to do it in a future-proof fashion.

Is there a wiki page where I could write these commands Xisco Fauli Tarazona? Or should I edit this Redmine ticket instead?

#19

Updated by Beluga Beluga almost 2 years ago

Guilhem: I suggest replacing the contents of this wiki page with what is the current reality: https://wiki.documentfoundation.org/QA/Bibisect/Implementation
(For some reason that page was translated to Danish, but I don't think we should be translating these sorts of docs)

#20

Updated by Guilhem Moulin almost 2 years ago

Thanks, I wasn't of that page. Nothing in there was invalidated by the recent refactoring, but I suppose it'd make sense to complete it with the various snippets from this ticket.

#21

Updated by Guilhem Moulin over 1 year ago

Beluga Beluga wrote:

I suggest replacing the contents of this wiki page with what is the current reality: https://wiki.documentfoundation.org/QA/Bibisect/Implementation

Thanks, done. It subsumes part of the workflow in this ticket (repository creation and update).

#22

Updated by Xisco Fauli Tarazona about 1 year ago

linux-64-releases has been updated up to 7.0.3.1

Also available in: Atom PDF