Feature #12311

Create weblate staging wiki

Added by emmapeel 2017-03-08 19:01:19 . Updated 2019-06-27 17:16:43 .

Status:
Duplicate
Priority:
Normal
Assignee:
Category:
Target version:
Start date:
2017-03-14
Due date:
% Done:

100%

Feature Branch:
https://0xacab.org/drebs/puppet-tails/tree/12311/create-staging-and-update-hook
Type of work:
Website
Blueprint:

Starter:
Affected tool:
Deliverable for:

Description

We need on translate.tails.boum.org a staging wiki that allows non tech savvy users to see the result of their translation work without having to compile the wiki themselves.

- define URI and local path

- create staging git repository by cloning from weblate git.

- create hooks on weblate git to merge to staging git after repository update
- create post-merge hook that copies ikiwiki.setup, adds missing langs and triggers build.


Subtasks


Related issues

Is duplicate of Tails - Feature #15077: Have a staging website to build planned languages, with a resilient build Resolved 2017-03-14

History

#1 Updated by drebs 2017-03-08 20:05:49

This branch adds a commit to create the staging repository and make sure it merges all updates made to main weblate repository: https://0xacab.org/drebs/puppet-tails/commits/12311/create-staging-and-update-hook

#2 Updated by intrigeri 2017-03-08 20:11:22

Hi!

> This branch adds a commit to create the staging repository and make sure it merges all updates made to main weblate repository: https://0xacab.org/drebs/puppet-tails/commits/12311/create-staging-and-update-hook

If that’s a pull request: thanks! Please ask emmapeel to teach you how to request a review (or I can point you to the relevant doc).

Otherwise: sorry for the noise. I’ll shut up until I’m asked to do something :)

#3 Updated by drebs 2017-03-09 10:28:12

intrigeri wrote:
> Hi!
>
> > This branch adds a commit to create the staging repository and make sure it merges all updates made to main weblate repository: https://0xacab.org/drebs/puppet-tails/commits/12311/create-staging-and-update-hook
>
> If that’s a pull request: thanks! Please ask emmapeel to teach you how to request a review (or I can point you to the relevant doc).
>
> Otherwise: sorry for the noise. I’ll shut up until I’m asked to do something :)

Hey, thanks for noticing.

We plan to add more to that branch to make it cover the whole automated ikiwiki build process for the staging translation website. We thought about start tackling the problem in one direction for now (weblate -> staging git -> staging ikiwiki) and only that is working we start thinking about the other direction (ikiwiki builds modify staging git and maybe we want that to modify weblate and the main tails website git repo).

So it is still not a pull request. But we already have some doubts, and if you can help with those it is already great for now!

The recipe we started to write that builds the staging git repository depends on the existence of the main weblate git repository. But the main weblate git repo was manually created during weblate configuration through web interface and is currently not covered by puppet. If that is not included in puppet, a run of the recipe in a fresh server would fail until the project is manually created and a repo is available in the expected path.

Should we also think on a way to automatically create the weblate project (through puppet) that creates/clones the main weblate git repository by using django/weblate scripts? That would be necessary in case of a fresh installation without human intervention.

More questions will come. ;) Thanks!

#4 Updated by emmapeel 2017-03-12 17:50:59

  • Assignee set to intrigeri
  • QA Check changed from Dev Needed to Info Needed
  • Feature Branch set to https://0xacab.org/drebs/puppet-tails/tree/12311/create-staging-and-update-hook

OK so I pass the ball to intri so we get the information needed.

#5 Updated by Anonymous 2017-03-13 17:32:05

drebs wrote:

> The recipe we started to write that builds the staging git repository depends on the existence of the main weblate git repository. But the main weblate git repo was manually created during weblate configuration through web interface and is currently not covered by puppet. If that is not included in puppet, a run of the recipe in a fresh server would fail until the project is manually created and a repo is available in the expected path.

> Should we also think on a way to automatically create the weblate project (through puppet) that creates/clones the main weblate git repository by using django/weblate scripts? That would be necessary in case of a fresh installation without human intervention.

I think our main idea was indeed that we could easily recreate and re-setup a weblate instance (what you call main weblate repository). This could also help other projects reuse our work and also help us recreate a VM easily.

So basically, such a script would be more than welcome.

However, it feels to me like this might be a little bit overengineered and I’m not sure how realistic such a thing would be at all.

#6 Updated by Anonymous 2017-03-14 08:49:02

/code/attachments/download/1551/weblate.svg should reflect the latest design.

#7 Updated by intrigeri 2017-03-14 09:01:03

  • Assignee changed from intrigeri to drebs
  • QA Check changed from Info Needed to Dev Needed

>> The recipe we started to write that builds the staging git
>> repository

>> depends on the existence of the main weblate git repository. But the main weblate
>> git repo was manually created during weblate configuration through web interface
>> and is currently not covered by puppet. If that is not included in puppet, a run of
>> the recipe in a fresh server would fail until the project is manually created and
>> a repo is available in the expected path.

I think that’s fine for the time being, and we’ll reconsider if this ever causes serious problems.

>> Should we also think on a way to automatically create the weblate project (through
>> puppet) that creates/clones the main weblate git repository by using django/weblate
>> scripts? That would be necessary in case of a fresh installation without
>> human intervention.

> I think our main idea was indeed that we could easily recreate and re-setup a weblate
> instance (what you call main weblate repository). This could also help other projects
> reuse our work and also help us recreate a VM easily.

> So basically, such a script would be more than welcome.

> However, it feels to me like this might be a little bit overengineered and I’m not sure how realistic such a thing would be at all.

OK. I don’t know how much manual work is currently needed to set the whole thing up, aside of what we already manage with Puppet. If it’s just a few clicks in a web interface, then IMO documenting these steps would be enough, and I would not invest time in automating this right now. Tracer bullet approach! :)

What might be interesting during the initial development is a way to reset the weblate setup without resetting the whole system, so you’re more autonomous and don’t need to ask sysadmins to re-install the system (I didn’t take any snapshot). E.g. a script that you folks could run, that empties the DB and deletes the Git repositories and other locally managed data. Then, after running this script, one should be able to follow the setup doc again, which currently should be something like 1. wait for Puppet to set everything it can back up; 2. apply a few manual steps; 3. wait for Puppet to set up stuff that depends on the manual steps.

#8 Updated by Anonymous 2017-12-19 16:42:22

I have to verify how this ticket integrates with our current plans.

#9 Updated by Anonymous 2018-01-17 11:52:42

  • Status changed from Confirmed to Duplicate

This seems to be a duplicate of Feature #15077.

#10 Updated by emmapeel 2018-01-17 19:49:55

  • is duplicate of Feature #15077: Have a staging website to build planned languages, with a resilient build added