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

Upgrade Website (#3289) #3294

Closed
wants to merge 1 commit into from

Conversation

CristianLara
Copy link
Contributor

Summary:

Context

This is the Ax counterpart to the same upgrade in Botorch: pytorch/botorch#2653

Motivation

We are already using most of the correct tooling but it has become very out of date and is tied together with scripts that are difficult to maintain. Upgrade our tooling by updating to latest versions and dramatically simplifying our setup/deploy scripts.

Includes:

  • Upgrade Docusaurus from V1 to V3
  • Utilize new MDX support in Docusaurus by converting our tutorials to MDX (previously converted to html)
  • Tutorials link to Colab for easy execution
  • Website versioning is now handled natively through Docusaurus
  • New website versions are only created for major and minor releases (not patches)
  • Build and Deploy workflows have been dramatically simplified
  • Change Sphinx theme to ReadTheDocs
  • API Reference is still built using Sphinx but is now hosted by ReadTheDocs. ReadTheDocs also handles versioning.
  • Legacy website will be frozen and available at archive.ax.dev
    • Served by Vercel from the archive branch
  • Website now supports dark mode
Before After
image image
image image
image image
image image

Considerations

  • Our tutorials are natively embedded and versioned in the website using Docusaurus, but our sphinx-generated API reference is not. ReadTheDocs will create new version of the sphinx docs for every new release tag in our github repo.
  • Continue using same integrations for Algolia Search and Google Analytics
  • The number and type of github workflows we have remain the same, but the complexity of the workflows and the supporting scripts has been simplified.

Test Plan:

Differential Revision: D68916590

Pulled By: CristianLara

@facebook-github-bot facebook-github-bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Jan 31, 2025
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D68916590

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D68916590

CristianLara added a commit to CristianLara/Ax that referenced this pull request Jan 31, 2025
Summary:
Pull Request resolved: facebook#3294

## Context

This is the Ax counterpart to the same upgrade in Botorch: pytorch/botorch#2653

## Motivation

We are already using most of the correct tooling but it has become very out of date and is tied together with scripts that are difficult to maintain. Upgrade our tooling by updating to latest versions and dramatically simplifying our setup/deploy scripts.

Includes:
- Upgrade Docusaurus from V1 to V3
- Utilize new MDX support in Docusaurus by converting our tutorials to MDX (previously converted to html)
- Tutorials link to Colab for easy execution
- Website versioning is now handled natively through Docusaurus
- New website versions are only created for major and minor releases (not patches)
- Build and Deploy workflows have been dramatically simplified
- Change Sphinx theme to ReadTheDocs
- API Reference is still built using Sphinx but is now hosted by ReadTheDocs. ReadTheDocs also handles versioning.
- Legacy website will be frozen and available at [archive.ax.dev](archive.ax.dev)
    - Served by Vercel from the `archive` branch
- Website now supports dark mode

| Before    | After |
| -------- | ------- |
|        <img width="1325" alt="image" src="https://github.com/user-attachments/assets/4af73120-f125-47e2-8285-bd01f4251ee9" />         |      <img width="1330" alt="image" src="https://github.com/user-attachments/assets/ea17c47c-5012-47ab-a9d2-4b7e9c103cb0" />      |
| <img width="1328" alt="image" src="https://github.com/user-attachments/assets/3dbde70a-8b84-43a4-8374-362f594de7fc" /> | <img width="1332" alt="image" src="https://github.com/user-attachments/assets/c779b7dd-76b9-4eb3-9b08-ca663732d7ec" />  |
| <img width="1328" alt="image" src="https://github.com/user-attachments/assets/25d74ed7-4536-43a3-8654-ed291ae50cf3" /> | <img width="1331" alt="image" src="https://github.com/user-attachments/assets/e2438746-d975-4a09-96b5-d73e5d1a9980" /> |
| <img width="1327" alt="image" src="https://github.com/user-attachments/assets/bcf71617-a537-45e4-a5e8-452de946a238" /> | <img width="1277" alt="image" src="https://github.com/user-attachments/assets/71b34ff9-1aaf-4c39-ade1-7bb346aad317" /> |

## Considerations
- Our tutorials are natively embedded and versioned in the website using Docusaurus, but our sphinx-generated API reference is not. ReadTheDocs will create new version of the sphinx docs for every new release tag in our github repo.
- Continue using same integrations for Algolia Search and Google Analytics
- The number and type of github workflows we have remain the same, but the complexity of the workflows and the supporting scripts has been simplified.

Pull Request resolved: facebook#3289

Test Plan:
- I've enabled all the workflows in my PR and everything is passing [https://github.com/CristianLara/botorch/actions](https://github.com/CristianLara/botorch/actions)
    - Pypy deploy and codecov are failing as expected due to missing credentials
- Website for my fork is being actively built and served at [cristianlara.me/Ax](cristianlara.me/Ax)
- API Reference is being built and served by ReadTheDocs at [https://ax.readthedocs.io/](https://ax.readthedocs.io/)

Differential Revision: D68916590

Pulled By: CristianLara
Summary:
Pull Request resolved: facebook#3294

## Context

This is the Ax counterpart to the same upgrade in Botorch: pytorch/botorch#2653

## Motivation

We are already using most of the correct tooling but it has become very out of date and is tied together with scripts that are difficult to maintain. Upgrade our tooling by updating to latest versions and dramatically simplifying our setup/deploy scripts.

Includes:
- Upgrade Docusaurus from V1 to V3
- Utilize new MDX support in Docusaurus by converting our tutorials to MDX (previously converted to html)
- Tutorials link to Colab for easy execution
- Website versioning is now handled natively through Docusaurus
- New website versions are only created for major and minor releases (not patches)
- Build and Deploy workflows have been dramatically simplified
- Change Sphinx theme to ReadTheDocs
- API Reference is still built using Sphinx but is now hosted by ReadTheDocs. ReadTheDocs also handles versioning.
- Legacy website will be frozen and available at [archive.ax.dev](archive.ax.dev)
    - Served by Vercel from the `archive` branch
- Website now supports dark mode

| Before    | After |
| -------- | ------- |
|        <img width="1325" alt="image" src="https://github.com/user-attachments/assets/4af73120-f125-47e2-8285-bd01f4251ee9" />         |      <img width="1330" alt="image" src="https://github.com/user-attachments/assets/ea17c47c-5012-47ab-a9d2-4b7e9c103cb0" />      |
| <img width="1328" alt="image" src="https://github.com/user-attachments/assets/3dbde70a-8b84-43a4-8374-362f594de7fc" /> | <img width="1332" alt="image" src="https://github.com/user-attachments/assets/c779b7dd-76b9-4eb3-9b08-ca663732d7ec" />  |
| <img width="1328" alt="image" src="https://github.com/user-attachments/assets/25d74ed7-4536-43a3-8654-ed291ae50cf3" /> | <img width="1331" alt="image" src="https://github.com/user-attachments/assets/e2438746-d975-4a09-96b5-d73e5d1a9980" /> |
| <img width="1327" alt="image" src="https://github.com/user-attachments/assets/bcf71617-a537-45e4-a5e8-452de946a238" /> | <img width="1277" alt="image" src="https://github.com/user-attachments/assets/71b34ff9-1aaf-4c39-ade1-7bb346aad317" /> |

## Considerations
- Our tutorials are natively embedded and versioned in the website using Docusaurus, but our sphinx-generated API reference is not. ReadTheDocs will create new version of the sphinx docs for every new release tag in our github repo.
- Continue using same integrations for Algolia Search and Google Analytics
- The number and type of github workflows we have remain the same, but the complexity of the workflows and the supporting scripts has been simplified.

Pull Request resolved: facebook#3289

Test Plan:
- I've enabled all the workflows in my PR and everything is passing [https://github.com/CristianLara/botorch/actions](https://github.com/CristianLara/botorch/actions)
    - Pypy deploy and codecov are failing as expected due to missing credentials
- Website for my fork is being actively built and served at [cristianlara.me/Ax](cristianlara.me/Ax)
- API Reference is being built and served by ReadTheDocs at [https://ax.readthedocs.io/](https://ax.readthedocs.io/)

Differential Revision: D68916590

Pulled By: CristianLara
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D68916590

@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 96.04%. Comparing base (9bd4c16) to head (b8f4d1a).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3294      +/-   ##
==========================================
+ Coverage   96.01%   96.04%   +0.02%     
==========================================
  Files         518      518              
  Lines       52132    52162      +30     
==========================================
+ Hits        50057    50098      +41     
+ Misses       2075     2064      -11     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

@saitcakmak saitcakmak left a comment

Choose a reason for hiding this comment

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

Nothing specifically stands out to me. Let's land and test it out on the live website.

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm mostly ignoring the docs contents, since the plan is to upgrade the website and update the docs after.


* [Trial-Level Early Stopping](early_stopping/early_stopping.html) shows how to use trial-level early stopping on an ML training job to save resources and iterate faster.

{/* * [Benchmarking Suite](benchmarking_suite_example.html) demonstrates how to use the Ax benchmarking suite to compare Bayesian Optimization algorithm performances and generate a comparative report with visualizations. */}
Copy link
Contributor

Choose a reason for hiding this comment

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

This one looks different. Is this intentional?

Comment on lines +26 to +31
papermill.execute_notebook(
tutorial,
tutorial,
# This timeout is on cell-execution time, not on total runtime.
execution_timeout=timeout_minutes * 60,
)
Copy link
Contributor

Choose a reason for hiding this comment

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

We should probably unify this setup with BoTorch as well (uses subprocess here IIRC), but that's not for this PR.

@facebook-github-bot
Copy link
Contributor

@CristianLara merged this pull request in 4702b26.

facebook-github-bot pushed a commit that referenced this pull request Feb 3, 2025
Summary:
## Context

Duplicate of same change in botorch: pytorch/botorch#2720

## Motivation

The recent website upgrade moved the location of tutorials and api reference breaking existing links to those. Here we fix those links and also configure Docusaurus to raise an error on broken links in the future.

Pull Request resolved: #3300

Test Plan:
Docusaurus checks for broken links when creating a production build. Running `./scripts/make_docs.sh -b` now results in a clean build with no broken links reported.

## Related PRs
- #3294

Reviewed By: saitcakmak, Balandat

Differential Revision: D69036887

Pulled By: CristianLara

fbshipit-source-id: 1f95fca91a3715e9642da349eb58fa9622d9fdeb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Do not delete this pull request or issue due to inactivity. fb-exported Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants