Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deploy docs to GitHub Pages #1356

Merged
merged 3 commits into from
Jan 23, 2024

Conversation

arnaucasau
Copy link
Contributor

@arnaucasau arnaucasau commented Jan 15, 2024

Summary

This PR changes the docs.yml and docs_dev.yml workflows to deploy the documentation to GitHub Pages to migrate the project away from the qiskit.org domain.

More information about the change and a quick guide to set up GitHub pages can be found at: Qiskit/ecosystem#578

Reminder task for maintainers to update the docs link in the About text for the repo on the main page once this change happens and the docs are re-deployed. This will need backporting to stable branches.

  • Update About text doc link

Details

The PR adds three new workflows, replacing the ones used to deploy to qiskit.org (docs.yml and docs_dev.yml).

The new workflows replicate the same structure used by the old workflows when the documentation was pushed to qiskit.org using the rclone command. The documentation will be deployed into the gh-pages branch where we will find the latest release in the root of the branch. In addition, we will have one folder named stable/ for all the previous releases and a second one for the dev docs named dev/.

gh-pages branch structure example:

|- unversioned docs
|- stable/
    |- stable version1/
        |- stable docs
    |- stable version2/
	|- stable docs
|- dev/
	|- dev docs

The three new workflows are:

docs_release.yml (Docs Publish): This workflow allows us to deploy the docs to GitHub pages into the root of the gh-pages branch. This will be the unversioned release we will find on the website.

docs_stable.yml (Stable Docs Publish): This workflow deploys the release we choose into the stable/ folder. The documentation will be accessible using the Previous Releases collapsible menu in the sidebar.

docs_dev.yml (Dev Docs Publish): Same workflow as docs_dev.yml but deploying the documentation to the dev/ folder in the gh-pages branch.

The docs_release.yml and the docs_stable.yml workflows split the current docs.yml workflow into two phases. This change is useful to have more control over what versions we want to deploy. With the old workflow, we needed to deploy everything in a specific order to have the latest version as the unversioned one on the website. With the two workflows, we will be able to re-deploy stable versions when necessary.

@coruscating coruscating added the backport stable potential The issue or PR might be minimal and/or import enough to backport to stable label Jan 22, 2024
Copy link
Collaborator

@coruscating coruscating left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Splitting the release and stable workflows makes sense and the forked build looks good.

@coruscating coruscating added this pull request to the merge queue Jan 23, 2024
Merged via the queue into qiskit-community:main with commit b605472 Jan 23, 2024
11 checks passed
mergify bot pushed a commit that referenced this pull request Jan 23, 2024
## Summary

This PR changes the `docs.yml` and `docs_dev.yml` workflows to deploy
the documentation to GitHub Pages to migrate the project away from the
qiskit.org domain.

More information about the change and a quick guide to set up GitHub
pages can be found at: Qiskit/ecosystem#578

Reminder task for maintainers to update the docs link in the About text
for the repo on the main page once this change happens and the docs are
re-deployed. This will need backporting to stable branches.

- [ ] Update About text doc link

## Details

The PR adds three new workflows, replacing the ones used to deploy to
qiskit.org (`docs.yml` and `docs_dev.yml`).

The new workflows replicate the same structure used by the old workflows
when the documentation was pushed to qiskit.org using the `rclone`
command. The documentation will be deployed into the `gh-pages` branch
where we will find the latest release in the root of the branch. In
addition, we will have one folder named `stable/` for all the previous
releases and a second one for the dev docs named `dev/`.

gh-pages branch structure example:
```
|- unversioned docs
|- stable/
    |- stable version1/
        |- stable docs
    |- stable version2/
	|- stable docs
|- dev/
	|- dev docs
```

The three new workflows are:

**docs_release.yml** (Docs Publish): This workflow allows us to deploy
the docs to GitHub pages into the root of the `gh-pages` branch. This
will be the unversioned release we will find on the website.

**docs_stable.yml** (Stable Docs Publish): This workflow deploys the
release we choose into the `stable/` folder. The documentation will be
accessible using the `Previous Releases` collapsible menu in the
sidebar.

**docs_dev.yml** (Dev Docs Publish): Same workflow as `docs_dev.yml` but
deploying the documentation to the `dev/` folder in the `gh-pages`
branch.

The `docs_release.yml` and the `docs_stable.yml` workflows split the
current `docs.yml` workflow into two phases. This change is useful to
have more control over what versions we want to deploy. With the old
workflow, we needed to deploy everything in a specific order to have the
latest version as the unversioned one on the website. With the two
workflows, we will be able to re-deploy stable versions when necessary.

---------

Co-authored-by: Helena Zhang <Helena.Zhang@ibm.com>
(cherry picked from commit b605472)

# Conflicts:
#	docs/conf.py
#	tools/deploy_documentation.sh
#	tools/deploy_documentation_dev.sh
coruscating added a commit that referenced this pull request Jan 25, 2024
This is an automatic backport of pull request #1356 done by
[Mergify](https://mergify.com).
Cherry-pick of b605472 has failed:
```
On branch mergify/bp/stable/0.5/pr-1356
Your branch is up to date with 'origin/stable/0.5'.

You are currently cherry-picking commit b605472.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   .github/workflows/docs_dev.yml
	renamed:    .github/workflows/docs.yml -> .github/workflows/docs_release.yml
	new file:   .github/workflows/docs_stable.yml
	deleted:    tools/rclone.conf.enc

Unmerged paths:
  (use "git add/rm <file>..." as appropriate to mark resolution)
	both modified:   docs/conf.py
	deleted by them: tools/deploy_documentation.sh
	deleted by them: tools/deploy_documentation_dev.sh

```


To fix up this pull request, you can check it out locally. See
documentation:
https://docs.github.com/en/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

---


<details>
<summary>Mergify commands and options</summary>

<br />

More conditions and actions can be found in the
[documentation](https://docs.mergify.com/).

You can also trigger Mergify actions by commenting on this pull request:

- `@Mergifyio refresh` will re-evaluate the rules
- `@Mergifyio rebase` will rebase this PR on its base branch
- `@Mergifyio update` will merge the base branch into this PR
- `@Mergifyio backport <destination>` will backport this PR on
`<destination>` branch

Additionally, on Mergify [dashboard](https://dashboard.mergify.com) you
can:

- look at your merge queues
- generate the Mergify configuration with the config editor.

Finally, you can contact us on https://mergify.com
</details>

---------

Co-authored-by: Arnau Casau <47946624+arnaucasau@users.noreply.github.com>
Co-authored-by: Helena Zhang <Helena.Zhang@ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport stable potential The issue or PR might be minimal and/or import enough to backport to stable
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants