From 6ae78684ee0e61d8a6ad8bb779ea30f2e5294d0d Mon Sep 17 00:00:00 2001 From: Hassan Abouelela Date: Wed, 26 Oct 2022 13:19:23 +0400 Subject: Use New Static Build Site API (#122) Updates the build the script to use the new API provided by the site to fetch and download artifacts. Additionally, metadata files are deleted in CI. They are only required for speeding up subsequent builds, which is not applicable in CI, and only increases the build size. --- .github/workflows/docs.yaml | 5 +++++ docs/netlify_build.py | 24 +++++++++--------------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 42c9e742..372a2b8f 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -58,6 +58,11 @@ jobs: BUILD_DOCS_FOR_HEAD: ${{ github.event_name == 'pull_request' }} BRANCH_NAME: ${{ github.head_ref }} + - name: Remove Metadata Files + run: | + rm -r docs/build/**/_sources + rm -r docs/build/**/.doctrees + - name: Upload Build Artifact uses: actions/upload-artifact@v2 with: diff --git a/docs/netlify_build.py b/docs/netlify_build.py index ca8f6d2e..1704eece 100644 --- a/docs/netlify_build.py +++ b/docs/netlify_build.py @@ -2,31 +2,25 @@ # This script performs all the actions required to build and deploy our project on netlify # It depends on the following packages, which are set in the netlify UI: -# httpx == 0.19.0 +# httpx == 0.23.0 -import importlib +import subprocess +import sys from pathlib import Path import httpx -SCRIPT_SOURCE = "https://raw.githubusercontent.com/python-discord/site/main/static-builds/netlify_build.py" +# Clean up environment OUTPUT = Path("docs/build.py") OUTPUT.unlink(missing_ok=True) +# Download and write the build script +SCRIPT_SOURCE = "https://raw.githubusercontent.com/python-discord/site/main/static-builds/netlify_build.py" build_script = httpx.get(SCRIPT_SOURCE) build_script.raise_for_status() -OUTPUT.write_text( - build_script.text.replace( - "Build & Publish Static Preview", - "Build Docs" - ).replace( - "static-build", - "docs" - ) -) - -script = importlib.import_module(OUTPUT.name.replace(".py", "").replace("/", ".")) +OUTPUT.write_text(build_script.text, encoding="utf-8") if __name__ == "__main__": + # Run the build script print("Build started") - script.download_artifact(*script.get_build_artifact()) + subprocess.run([sys.executable, OUTPUT.absolute()]) -- cgit v1.2.3