Closed Bug 1531021 Opened 7 years ago Closed 6 years ago

Scriptworker 20.0.1 and json schema breaking the PYUP PRs

Categories

(Infrastructure & Operations Graveyard :: CIDuty, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: apop, Unassigned)

References

Details

Today the scriptworker got updated to 20.0.1 and jsonschema to 3.0.0 and the pyup PR from addonscript is failing

In --require-hashes mode, all requirements must have their versions pinned with ==. These do not:
pyrsistent>=0.14.0 from https://files.pythonhosted.org/packages/8c/46/4e93ab8a379d7efe93f20a0fb8a27bdfe88942cc954ab0210c3164e783e0/pyrsistent-0.14.11.tar.gz#sha256=3ca82748918eb65e2d89f222b702277099aca77e34843c5eb9d52451173970e2 (from jsonschema==3.0.0->-r requirements/base.txt (line 76))
github3.py from https://files.pythonhosted.org/packages/a6/21/9055a739fbe7b22a8e99e42906f2c75ba02bab9fd193a85837cd1d6e55d3/github3.py-1.3.0-py2.py3-none-any.whl#sha256=50833b5da35546b8cced0e8d7ff4c50a9afc2c8e46cc4d07dc4b66d26467c708 (from scriptworker==20.0.1->-r requirements/base.txt (line 165))

Currently, I have reverted scriptworker to 19.0.0 and jsonschema to 2.6.0.

I had to revert slugid from 2.0.0 to 1.0.7 "taskcluster 6.0.0 has requirement slugid<2,>=1.0.7, but you have slugid 2.0.0"

Currently affected repos are: addonscript, treescript and build-puppet

Depends on: 1529313
Flags: needinfo?(dustin)
Flags: needinfo?(aki)
Summary: Scriptworker 20.0.1 and json schema breaking the requirements → Scriptworker 20.0.1 and json schema breaking the PYUP PRs
Flags: needinfo?(dustin) → needinfo?(jlorenzo)

Please don’t revert scriptworker. 20.0.1 is needed or we’ll break since ci-configuration moved. I can take a closer look when I’m in.

I agree with Aki. Do you have a link to the reported failure, Adrian?

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

Reverts were made on addonscript and treescript and merged, this is what we usually do in this kind of situation as we don't necessarily know if a certain version is vital for the two of the repositories as Callek told us the two do not affect the infra until a new version is released for them.

I can quickly backout the PRs and wait for further instructions, if you guys see it necessary.

PR: https://github.com/mozilla-releng/treescript/pull/165
Test Fail: https://travis-ci.org/mozilla-releng/treescript/builds/499262033

To be noted: This also affect build-puppet, I haven't merged the PR yet on it.

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

got updated to

Is this some kind of automatic landing? It seems like this kind of change should be something that's tested in advance before landing, rather than causing outages or reverts after the fact.

We're green. The lingering issue was treescript still had jsonschema==3.0.0.

(In reply to Dustin J. Mitchell [:dustin] pronoun: he from comment #5)

got updated to

Is this some kind of automatic landing? It seems like this kind of change should be something that's tested in advance before landing, rather than causing outages or reverts after the fact.

These are errors in the pyup PR, so no bustage rolled out to production.

Flags: needinfo?(jlorenzo)
Flags: needinfo?(aki)

A lot of these pinning issues stem from taskcluster-client.py pinning versions of deps and not regularly updating those pins.

I have a PR open to update the mohawk pin; Ed Morley opened an issue to update dependencies in general. One solution might be to not pin in taskcluster-client.py at all, and push that responsibility down to its users.

I think we'd be open to that approach -- or to adding pyup or something like it to the tc-client.py repo. There's a lot more Python experience in releng than in the TC team, so we're pretty open :)

(In reply to Aki Sasaki [:aki] from comment #2)

Please don’t revert scriptworker. 20.0.1 is needed or we’ll break since ci-configuration moved. I can take a closer look when I’m in.

Aha, this is treescript and/or addonscript pyup PRs breaking on scriptworker 20.0.1.
I'm not terribly worried here, because aiui these are test-only pins. However, we should address at some point.
Callek, do you know what's going on with these?

Flags: needinfo?(bugspam.Callek)

(In reply to Aki Sasaki [:aki] from comment #9)

(In reply to Aki Sasaki [:aki] from comment #2)

Please don’t revert scriptworker. 20.0.1 is needed or we’ll break since ci-configuration moved. I can take a closer look when I’m in.

Aha, this is treescript and/or addonscript pyup PRs breaking on scriptworker 20.0.1.
I'm not terribly worried here, because aiui these are test-only pins. However, we should address at some point.
Callek, do you know what's going on with these?

At least in treescript:

https://travis-ci.org/mozilla-releng/treescript/builds/499262127?utm_source=github_status&utm_medium=notification

has the following lines:

Collecting pyrsistent>=0.14.0 (from jsonschema==3.0.0->-r requirements/base.txt (line 70))
Collecting github3.py (from scriptworker==20.0.1->-r requirements/base.txt (line 138))
In --require-hashes mode, all requirements must have their versions pinned with ==. These do not:
pyrsistent>=0.14.0 from https://files.pythonhosted.org/packages/8c/46/4e93ab8a379d7efe93f20a0fb8a27bdfe88942cc954ab0210c3164e783e0/pyrsistent-0.14.11.tar.gz#sha256=3ca82748918eb65e2d89f222b702277099aca77e34843c5eb9d52451173970e2 (from jsonschema==3.0.0->-r requirements/base.txt (line 70))
github3.py from https://files.pythonhosted.org/packages/a6/21/9055a739fbe7b22a8e99e42906f2c75ba02bab9fd193a85837cd1d6e55d3/github3.py-1.3.0-py2.py3-none-any.whl#sha256=50833b5da35546b8cced0e8d7ff4c50a9afc2c8e46cc4d07dc4b66d26467c708 (from scriptworker==20.0.1->-r requirements/base.txt (line 138))

So what is needed here is to "simply" add both pyrsistent and github3.py hashes to the requirements file(s) so that the install succeeds. I think we don't actually need to revert anything.

I suspect the addonscript is similar

Flags: needinfo?(bugspam.Callek)

@Callek: This is what we did :) PR it's been merged since yesterday.
We were wondering if we had to backout the merge itself.

(In reply to Danut Labici [:dlabici] from comment #11)

@Callek: This is what we did :) PR it's been merged since yesterday.
We were wondering if we had to backout the merge itself.

In my glancing it didn't look like it was done in treescript itself. Unless I was looking wrong.

(In reply to Justin Wood (:Callek) from comment #12)

(In reply to Danut Labici [:dlabici] from comment #11)

@Callek: This is what we did :) PR it's been merged since yesterday.
We were wondering if we had to backout the merge itself.

In my glancing it didn't look like it was done in treescript itself. Unless I was looking wrong.

Ah I see what the "issue" is. The PR [1] has a wrong commit message. jsonschema wasn't "reverted" from 2.6.0 to 3.0.0, but the other way around. (looking to the change, I also confirmed it that the commit msg is wrong)

[1] https://github.com/mozilla-releng/treescript/pull/165

danut, is there further action required for this bug?

Flags: needinfo?(dlabici)

Aki has confirmed that is safe to merge the PR, as the only problem was with the treescript, that was still on jsonschema 3.0.0 https://github.com/mozilla-releng/build-puppet/pull/406/commits/

Currently, I have merged the build puppet PR.

@jlund: Taking into account that this module is developed by Mozilla and just like we did with Taskcluster 6.0.0 in Bug 1529313 comment #3.
I have a feeling this will be a weekly "problem" (we will need to revert the update) until someone will update the requirements (which are using strict version check. eg: no older than X and not newer than Z)

Flags: needinfo?(dlabici) → needinfo?(jlund)

Yes. Started a thread here.

okay, sounds like this is being assessed via comment 17. Thanks for raising!

Flags: needinfo?(jlund)

Currently, we had the same situation on build puppet, treescript and addonscript :

Build puppet:
https://github.com/mozilla-releng/build-puppet/pull/417
jsonschema, and slugid have been reverted and pinned with pyup ignore

Addonscript:
https://github.com/mozilla-releng/treescript/pull/166
attrs, scriptworker , jsonschema, and slugid have been reverted and pinned with pyup ignore

Treescript:
https://github.com/mozilla-releng/addonscript/pull/201
scriptworker , jsonschema, and slugid have been reverted and pinned with pyup ignore

I think that the bug can be closed as the issue hasn't appeared for more then a month.
If the issue will re-appear in the future, we will re-open the bug.

Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Product: Infrastructure & Operations → Infrastructure & Operations Graveyard
You need to log in before you can comment on or make changes to this bug.