Project

General

Profile

Bug #14609

Move the --old-iso kill switch from puppet-tails.git to jenkins-jobs.git

Added by intrigeri 3 months ago. Updated about 2 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Continuous Integration
Target version:
Start date:
09/07/2017
Due date:
% Done:

100%

QA Check:
Feature Branch:
Type of work:
Sysadmin
Blueprint:
Starter:
Affected tool:

Description

(As decided on #12299.) The wrap_test_suite script shall default to passing the previous release to --old-iso unless the kill switch is enabled. Implementation suggestions: #12299#note-1.

As part of this, document how to use the kill switch in a place where anonym may find it in N months.


Related issues

Blocked by Tails - Bug #14608: Pass the last release to --old-iso on Jenkins test suite runs Resolved 09/07/2017
Blocks Tails - Feature #14611: Evaluate the global --old-iso kill switch for the test suite on Jenkins Confirmed 09/07/2017

Associated revisions

Revision 8c2a5847 (diff)
Added by bertagaz 2 months ago

Document how to use the --old-iso switch in Jenkins.

Refs: #14609

Revision 5cbf814e (diff)
Added by bertagaz about 2 months ago

Move the old-iso switch usage instruction in a more relevant place.

It's only about automated test in Jenkins.

Refs: #14609

Revision ff5c91b2 (diff)
Added by bertagaz about 2 months ago

Reword link to page about specific usage of the vagrant builds in Jenkins.

Refs: #14609

Revision 09681e97 (diff)
Added by bertagaz about 2 months ago

Rewording page about vagrant setup in our build infra.

Refs: #14609

Revision 6c63eb37 (diff)
Added by intrigeri about 2 months ago

Fix typos, grammar mistakes, improve phrasing, restructure and add missing instruction wrt. ensuring the change is reverted (refs: #14609).

Revision cf8f593f (diff)
Added by intrigeri about 2 months ago

Move doc to a more suitable place (refs: #14609).

Let's be consistent with how we organized the doc for automated builds:
this piece of doc is irrelevant for everyone but sysadmins + Foundation
Team, so let's move it out of the release process section.

Besides, this is not specific to lizard: any deployement of our Jenkins CI setup
is affected (even though another jenkins-jobs repo might be used, the underlying
logic is the same).

Revision 28385f56 (diff)
Added by intrigeri about 2 months ago

Make titles consistent (refs: #14609).

… and avoid pretending this is purely about lizard, while the code that
implements this logic is used on all deployments of our Jenkins setup.

Revision b4eb7d25 (diff)
Added by intrigeri about 2 months ago

Link to design doc (refs: #14609).

History

#1 Updated by intrigeri 3 months ago

  • Blocked by Bug #14608: Pass the last release to --old-iso on Jenkins test suite runs added

#2 Updated by intrigeri 3 months ago

  • Description updated (diff)

#3 Updated by intrigeri 3 months ago

  • Blocks Feature #14611: Evaluate the global --old-iso kill switch for the test suite on Jenkins added

#4 Updated by intrigeri 3 months ago

  • Assignee changed from bertagaz to intrigeri
  • Target version changed from Tails_3.3 to Tails_3.2

Actually I need this now: #14608 made my local Jenkins download an ISO from lizard every time it runs our test suite, which is totally unusable. And for #12705 I will have to write & run quite a few automated tests.

#5 Updated by intrigeri 3 months ago

  • Status changed from Confirmed to In Progress
  • Assignee changed from intrigeri to bertagaz
  • Target version changed from Tails_3.2 to Tails_3.3
  • % Done changed from 0 to 50

Implemented, tested the kill switch on my own Jenkins & deployed, see my last commits in puppet-tails.git:files/jenkins/slaves/isotesters/wrap_test_suite and jenkins-jobs.git:macros/. Please review :)

See the ticket description for the next step.

#6 Updated by bertagaz 2 months ago

  • Assignee changed from bertagaz to intrigeri
  • % Done changed from 50 to 70
  • QA Check set to Ready for QA

intrigeri wrote:

Implemented, tested the kill switch on my own Jenkins & deployed, see my last commits in puppet-tails.git:files/jenkins/slaves/isotesters/wrap_test_suite and jenkins-jobs.git:macros/. Please review :)

See the ticket description for the next step.

Nice, sounds good. I've documented that in 8c2a584.

#7 Updated by intrigeri about 2 months ago

  • Assignee changed from intrigeri to bertagaz
  • QA Check changed from Ready for QA to Dev Needed

bertagaz wrote:

I've documented that in 8c2a584.

The phrasing and the fact this was added to contribute/release_process/test/usage makes it sound like any test suite run (be it Jenkins or not) will honor USE_LAST_RELEASE_AS_OLD_ISO, which I think is wrong: this property only holds for tests run on Jenkins. So please move this new paragraph out of the regular usage doc, to some place specific to our Jenkins CI.

Also, please document the actual URL of "the main repo"'s remote.

Otherwise, looks OK!

#8 Updated by bertagaz about 2 months ago

  • Assignee changed from bertagaz to intrigeri
  • QA Check changed from Dev Needed to Ready for QA

intrigeri wrote:

The phrasing and the fact this was added to contribute/release_process/test/usage makes it sound like any test suite run (be it Jenkins or not) will honor USE_LAST_RELEASE_AS_OLD_ISO, which I think is wrong: this property only holds for tests run on Jenkins. So please move this new paragraph out of the regular usage doc, to some place specific to our Jenkins CI.

Ok, then I've moved that in contribute/release_process/test/usage/on_lizard in 5cbf814 (and removed the obsolete instructions that this page contained).

Also, please document the actual URL of "the main repo"'s remote.

Updated the wording to include it.

#9 Updated by intrigeri about 2 months ago

  • Assignee changed from intrigeri to bertagaz
  • QA Check changed from Ready for QA to Dev Needed

Hi!

Ok, then I've moved that in contribute/release_process/test/usage/on_lizard in 5cbf814 (and removed the obsolete instructions that this page contained).

Much better! It seems the update was incomplete though, and currently the only backlink of that page (wrongly) pretends it's about something totally different:

wiki/src/contribute/release_process/test/automated_tests.mdwn:Core developers can also run it [[usage/on_lizard]].

Also, please document the actual URL of "the main repo"'s remote.

Updated the wording to include it.

Thanks. It has two issues though:

  • it relies on custom SSH config for the git.puppet.t.b.o remote to work; I think pointing to the corresponding doc (in some other Git repo I guess) would be enough to address this, given the audience of this doc;
  • unsurprisingly [jenkins-jobs repo](gitolite@git.puppet.tails.boum.org:jenkins-jobs) produces a broken link; please don't use link syntax unless you really want to display a link, and please build your doc locally & check the output before submitting for QA.

We're almost there :)

#10 Updated by bertagaz about 2 months ago

  • Assignee changed from bertagaz to intrigeri
  • QA Check changed from Dev Needed to Ready for QA

intrigeri wrote:

Much better! It seems the update was incomplete though, and currently the only backlink of that page (wrongly) pretends it's about something totally different:

Should be fixed with ff5c91b

  • it relies on custom SSH config for the git.puppet.t.b.o remote to work; I think pointing to the corresponding doc (in some other Git repo I guess) would be enough to address this, given the audience of this doc;
  • unsurprisingly [jenkins-jobs repo](gitolite@git.puppet.tails.boum.org:jenkins-jobs) produces a broken link; please don't use link syntax unless you really want to display a link, and please build your doc locally & check the output before submitting for QA.

Done a bit of polishing, and fixed both issues with 09681e9

#11 Updated by intrigeri about 2 months ago

  • Assignee changed from intrigeri to bertagaz
  • % Done changed from 70 to 80
  • QA Check changed from Ready for QA to Dev Needed

I've fixed quite a few issues (some that were already there, some that you've introduced while polishing), rephrased/restructured a bit, and added missing info. Please review, both to ensure I didn't introduce regressions and as a way to improve your English & tech writing skills (e.g. you wrote "same that" and "same than"; AFAIK both are wrong, while "same as" is correct).

Now I have a doubt: on #12616 you're documenting Jenkins-specific bits of our ISO build setup on https://tails.boum.org/contribute/working_together/roles/sysadmins/automated_builds_in_jenkins/, while leaving the bits that are not Jenkins-specific closer to the non-sysadmin contributors doc. But here you're documenting Jenkins-specific bits of our ISO test setup on https://tails.boum.org/contribute/release_process/test/usage/on_lizard/, close to the non-sysadmin contributors doc. This seems inconsistent to me => please pick one approach and apply it consistently. FWIW I prefer the approach you've picked for the ISO builds. It should be one git mv + adjusting a couple links. If you prefer I can do it myself.

Besides, this is not specific to lizard: any deployement of our Jenkins CI setup is affected (even though another jenkins-jobs repo might be used, the underlying logic is the same). So the page naming scheme you've used for ISO builds would work better here too, which is another argument to pick that approach and apply it here :)

#12 Updated by bertagaz about 2 months ago

  • Assignee changed from bertagaz to intrigeri

intrigeri wrote:

I've fixed quite a few issues (some that were already there, some that you've introduced while polishing), rephrased/restructured a bit, and added missing info. Please review, both to ensure I didn't introduce regressions and as a way to improve your English & tech writing skills (e.g. you wrote "same that" and "same than"; AFAIK both are wrong, while "same as" is correct).

Fine with me too.

Now I have a doubt: on #12616 you're documenting Jenkins-specific bits of our ISO build setup on https://tails.boum.org/contribute/working_together/roles/sysadmins/automated_builds_in_jenkins/, while leaving the bits that are not Jenkins-specific closer to the non-sysadmin contributors doc. But here you're documenting Jenkins-specific bits of our ISO test setup on https://tails.boum.org/contribute/release_process/test/usage/on_lizard/, close to the non-sysadmin contributors doc. This seems inconsistent to me => please pick one approach and apply it consistently. FWIW I prefer the approach you've picked for the ISO builds. It should be one git mv + adjusting a couple links. If you prefer I can do it myself.

Besides, this is not specific to lizard: any deployement of our Jenkins CI setup is affected (even though another jenkins-jobs repo might be used, the underlying logic is the same). So the page naming scheme you've used for ISO builds would work better here too, which is another argument to pick that approach and apply it here :)

Ok, yes please do move to where it seems relevant to you.

This part of the doc is a bit different from the ISO build one. The later is only interesting sysadmins, while the --old-iso kill switch is meant to be shared outside of the sysadmin team, so that others in the project can use it. That's why it meade sense to me to have this page closer from the dev perspective.

#13 Updated by intrigeri about 2 months ago

Ok, yes please do move to where it seems relevant to you.

Will do!

The later is only interesting sysadmins, while the --old-iso kill switch is meant to be shared outside of the sysadmin team, so that others in the project can use it.

So far I agree.

That's why it meade sense to me to have this page closer from the dev perspective.

… but that page does not document --old-iso, it documents something Jenkins-specific, that can only be used by anonym + sysadmins. Besides, I don't expect anyone else than these people to go read a page called "on lizard", even if it had content that may be useful to them.

#14 Updated by intrigeri about 2 months ago

  • Assignee changed from intrigeri to bertagaz
  • % Done changed from 80 to 90
  • QA Check changed from Dev Needed to Ready for QA

Done. I'm ready to revert this move if you explain me why this should matter to developers and/or belongs in the release process section of our website.

#15 Updated by bertagaz about 2 months ago

  • Status changed from In Progress to Resolved
  • Assignee deleted (bertagaz)
  • % Done changed from 90 to 100
  • QA Check deleted (Ready for QA)

intrigeri wrote:

Done. I'm ready to revert this move if you explain me why this should matter to developers and/or belongs in the release process section of our website.

Looks fine, closing!

Also available in: Atom PDF