[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/4] gitlab: publish the docs built during CI
|
From: |
Philippe Mathieu-Daudé |
|
Subject: |
Re: [PATCH 1/4] gitlab: publish the docs built during CI |
|
Date: |
Mon, 2 Nov 2020 15:49:01 +0100 |
|
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1 |
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é <berrange@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é <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@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
>
- [PATCH 0/4] Publish docs as GitLab Pages, Daniel P . Berrangé, 2020/11/02
- [PATCH 3/4] docs: show stdout/stderr when meson fails build test, Daniel P . Berrangé, 2020/11/02
- [PATCH 4/4] docs: add "page source" link to sphinx documentation, Daniel P . Berrangé, 2020/11/02
- Re: [PATCH 0/4] Publish docs as GitLab Pages, Philippe Mathieu-Daudé, 2020/11/02
- Re: [PATCH 0/4] Publish docs as GitLab Pages, Thomas Huth, 2020/11/09