Open Bug 1372587 Opened 7 years ago Updated 3 months ago

[meta] Release geckodriver from TaskCluster

Categories

(Testing :: geckodriver, enhancement)

Version 3
enhancement

Tracking

(Not tracked)

People

(Reporter: ato, Unassigned)

References

(Depends on 2 open bugs, Blocks 1 open bug)

Details

(Keywords: meta)

We currently export the source code from testing/geckodriver to the
old GitHub project on https://github.com/mozilla/geckodriver to
release geckodriver via Travis.  We would like to release to GitHub
directly from TaskCluster so we are not dependent on Travis, which
has historically proven to be a nightmare to maintain due to changing
environment factors.

We are currently missing geckodriver builds on all cross-compile
platforms, which currently include Android and certain macOS versions.
For Android, there are potentially also other host/target system
concerns to do with the way Rust is integrated with our build system.

The platforms we need to support are:

  arm7hf
  linux32
  linux64
  macos
  win32
  win64
Priority: -- → P3
Depends on: 1417646, 1417649
Depends on: 1427849
Depends on: 1441656
nalexander got Android compiling in bug 1441656.
Depends on: 1442253
Priority: P3 → --
Summary: Release geckodriver from TaskCluster → [meta] Release geckodriver from TaskCluster
Blocks: 1489130
Depends on: 1490628
Depends on: 1425365
No longer depends on: 1441656

With bug 1577110 fixed the next release of geckodriver could be fully done via the toolchain builds!

I don't think we can release directly from taskcluster, because I don't think we can have long-term artifacts on there. We'd probably need to upload to archive.mozilla.org.

glob: I don't know if you're the right person to ask about this, but after some recent relability issues with releasing geckodriver from GitHub, we're trying to scope out how much effort it would be to release based on Mozilla infrastructure. I think that would roughly involve uploading the artifacts we're building on TaskCluster to (presumably) archive.mozilla.org whenever we want to release (this is not coupled to Firefox release cycles), and having some URL that can reliably be used to get the latest release. Do you know yourself, or know who we should ask about this?

Flags: needinfo?(glob)

This looks more like a RelEng question, redirecting.

Flags: needinfo?(glob) → needinfo?(cbond)

Sounds like you'll want to create a beetmover task (these are the tasks that move release blobs over to archive.mozilla.org). I believe you'll need a new set of credentials from SRE Services to push to whatever directory we choose. Someone on Releng would need to help get these credentials in place.

You'll also need to figure out when you want this task to run. E.g, you could have a VERSION.txt file and the task only runs when it's modified maybe? Or you could manually trigger it when needed. Edit: Aki reminded me we should use shipit to handle releases if possible.

Is there signing involved in the release process as well? If so then that's another set of credentials that'll be needed for the signing task.

Depends on: 1783943
Severity: normal → S3

@jgraham - did the info ahal provided get you what you needed?

(apologies for the extremely late reply and response to needinfo)

Flags: needinfo?(cbond)
See Also: → 1794550

(In reply to Cyrus Bond from comment #7)

@jgraham - did the info ahal provided get you what you needed?

(apologies for the extremely late reply and response to needinfo)

Now we are late as well. One question ahead, are all the steps as mentioned by Andrew are still actual? Who from RelEng could help us in getting the necessary credentials and getting the Beetmover task implemented?

Johan, maybe you could help us figuring this out? Thanks a lot!

Flags: needinfo?(jlorenzo)

Hey :whimboo!

One question ahead, are all the steps as mentioned by Andrew are still actual?

Yes, this is still valid as of today.

Who from RelEng could help us in getting the necessary credentials [...]?

I'd recommend reaching out to the Purple SRE team first. Like :ahal said, they are the ones issuing these creds. We just put them in the right Taskcluster worker.

[...] and getting the Beetmover task implemented?

When do you need this by?

Flags: needinfo?(jlorenzo) → needinfo?(hskupin)

Hi Johan, and sorry for the delay in response.

(In reply to Johan Lorenzo [:jlorenzo] from comment #9)

One question ahead, are all the steps as mentioned by Andrew are still actual?

Yes, this is still valid as of today.

That's good to hear. Thanks for the confirmation.

Who from RelEng could help us in getting the necessary credentials [...]?

I'd recommend reaching out to the Purple SRE team first. Like :ahal said, they are the ones issuing these creds. We just put them in the right Taskcluster worker.

Thanks. I'll note this down so that we know what to do when we have the capacity to work on that bug.

[...] and getting the Beetmover task implemented?

When do you need this by?

As of now we do not have any pressure. I'm just trying to collect necessary information to get an idea how much work would be involved and if possible we could get some help with the creation of the necessary Beetmover tasks.

Also the whole release process is mostly manual. We would have to figure out which parts could be automated, even with some scripts that could be located in mozilla-central and would be helpful for the version bumps, audits, crate publishing, etc.

Given the low frequency of geckodriver releases this bug might still have a lower priority for some time.

Flags: needinfo?(hskupin)
You need to log in before you can comment on or make changes to this bug.