On 11/2/20 3:21 PM, Daniel P. Berrangé wrote:
> On Mon, Nov 02, 2020 at 02:50:19PM +0100, Philippe Mathieu-Daudé wrote:
>> On 11/2/20 2:09 PM, Daniel P. Berrangé wrote:
>>> Most of the build jobs will create the sphinx documentation. If we
>>> expose this as an artifact of a "pages" job in a "public" directory, it
>>> will get published using GitLab Pages. This means a user can push a
>>> branch with docs changes to GitLab and view the results at
>>>
>>>   https://yourusername.gitlab.io/qemu/
>>
>> Do we want that only for forks or also for the main repo?
>>
>> For the main repo we need to keep older releases archived
>> but accessible.
> 
> I'm not suggesting we use this as the actual hosting we direct end
> users to.
> 
> Instead, whatever cronjob on www.qemu.org currently builds
> 
> https://www.qemu.org/docs/master/
> 
> can simply download the published artifact from CI for the master
> branch, and any release tags, and unpack them on www.qemu.org host.
> 
> IOW, we avoid need to run builds on www.qemu.org server.
> 
>>
>>>
>>> Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>
>>> ---
>>>  .gitlab-ci.yml | 14 ++++++++++++++
>>>  1 file changed, 14 insertions(+)
>>>
>>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>>> index 3b15ae5c30..a41725d6f7 100644
>>> --- a/.gitlab-ci.yml
>>> +++ b/.gitlab-ci.yml
>>> @@ -423,3 +423,17 @@ check-dco:
>>>        - $CI_PROJECT_NAMESPACE == 'qemu-project' && $CI_COMMIT_BRANCH == 
>>> 'master'
>>>    variables:
>>>      GIT_DEPTH: 1000
>>> +
>>> +pages:
>>> +  image: $CI_REGISTRY_IMAGE/qemu/ubuntu2004:latest
>>> +  stage: test
>>> +  needs:
>>> +    - job: build-system-ubuntu
>>> +      artifacts: true
>>> +  script:
>>> +    - mkdir public
>>
>> I'd rather use public/$CI_COMMIT_BRANCH, that way we can
>> diff between 2 versions.
>>
>> What about adding a manual job to clean public/$CI_COMMIT_BRANCH?
>> (depending on push-pages success).
> 
> The publishing isn't additive - whatever is in the "public" dir
> is exactly what is visible on gitlab pages. You can't publish
> multiple different branches.

Oh OK.

Then:
Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com>
Tested-by: Philippe Mathieu-Daudé <phi...@redhat.com>

> 
> Essentially this "pages" job published an artifact containing
> the entire content, and this is unpacked on the gitlab.io
> service.
> 
> This is why I suggest www.qemu.org cronjob pull down the
> artifact for "master", and also pull down the artifacts for
> any release git tags, and unpack them in suitable subdirs.
> 
>>
>>> +    - mv build/docs/index.html public/
>>> +    - for i in devel interop specs system tools user ; do mv build/docs/$i 
>>> public/ ; done
>>> +  artifacts:
>>> +    paths:
>>> +      - public
> 
> Regards,
> Daniel
> 


Reply via email to