Opened 2 years ago

Last modified 2 years ago

#23688 needs_information enhancement

Add GitLab CI script

Reported by: krichter Owned by: tbb-team
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

As [suggested and merged for tor](https://trac.torproject.org/projects/tor/ticket/22891) I'd like to propose a GitLab CI script for Tor Browser. My intention to be able to build tor-browser-bundle locally which I tried for some time and failed because of error which I hope will be brought to the attention of devs automatically rather than after painful reports.

The script currently uses Ubuntu 17.04 only, but since GitLab CI is based on Docker images, the number of possible OS to test on is basically infinite.

Child Tickets

Change History (5)

comment:1 Changed 2 years ago by krichter

So, after I posted a link, I'm not allow to comment and upload

comment:2 Changed 2 years ago by krichter

now I am... that's great and not frustrating - as is getting all these email for you...

comment:3 Changed 2 years ago by krichter

another attempt to send the patch as attachement (which clearly isn't spam as trac can see from the form of it) - maybe I can post another link: https://gitlab.com/krichter/tor-browser-bundle/merge_requests/1

comment:4 Changed 2 years ago by boklm

Status: newneeds_information

Some comments and questions about this patch:

  • the before_script is downloading some deb file and installing them without checking their checksum, so we don't really know what we are installing.
  • where is this gitlab-ci file going to be used? I think doing a full rebuild of tor-browser-bundle.git on each commit is going to use a lot of resources.
  • why is the script first starting a build with LXC, and after doing that starting an other one in the vagrant directory?
  • if I understand correctly, the image: ubuntu:zesty line means that the script is run inside a docker container. Does creating LXC containers or Virtualbox VMs with vagrant work inside a docker container?
  • starting with version 7.5a5, we are now using rbm and tor-browser-build.git rather than gitian and tor-browser-bundle.git for new development.

comment:5 Changed 2 years ago by krichter

Thank for you feedback.

the before_script is downloading some deb file and installing them without checking their checksum, so we don't really know what we are installing.

I'll fix that if it come to that.

where is this gitlab-ci file going to be used? I think doing a full rebuild of tor-browser-bundle.git on each commit is going to use a lot of resources.

It can be used in GitLab instance at https://oniongit.eu or you can mirror to gitlab.com. Where is the CI script for Tor being used which I linked above?

I followed the [build instructions](https://trac.torproject.org/projects/tor/wiki/doc/TorBrowser/Hacking). A proper CI needs to run all of them on a bare system - reasonable compromises are possible of course. After you set up a CI infrastructure or bought a plan from a provider, I think resources no longer matter. Note that you can connect arbitrary machines as runners to GitLab, so trustworthy volunteers might donate CI resources.

why is the script first starting a build with LXC, and after doing that starting an other one in the vagrant directory?

Aren't those the two different build systems and how one would use them - obviously not, but I never got so far, see e.g. https://gitlab.com/krichter/tor-browser-bundle/-/jobs/34423604 for the current build?

starting with version 7.5a5, we are now using rbm and tor-browser-build.git rather than gitian and tor-browser-bundle.git for new development.

Same here, I think I never got the build past the downloading of dependencies. Maybe you can fix the checksum error shown in the linked GitLab CI log and notify me so that I can proceed with the tests.

Note: See TracTickets for help on using tickets.