diff --git a/.github/workflows/book.yml b/.github/workflows/book.yml index 82449ca963..91c962e4d9 100644 --- a/.github/workflows/book.yml +++ b/.github/workflows/book.yml @@ -12,114 +12,38 @@ on: - "book/**" merge_group: -jobs: - # test: - # runs-on: ubuntu-latest - # name: test - # timeout-minutes: 60 - - # steps: - # - uses: actions/checkout@v4 - - # - name: Install mdbook - # run: | - # mkdir mdbook - # curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.14/mdbook-v0.4.14-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=./mdbook - # echo $(pwd)/mdbook >> $GITHUB_PATH - - # - name: Install mdbook-template - # run: | - # mkdir mdbook-template - # curl -sSL https://github.com/sgoudham/mdbook-template/releases/latest/download/mdbook-template-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=./mdbook-template - # echo $(pwd)/mdbook-template >> $GITHUB_PATH - - # - name: Run tests - # run: mdbook test - - lint: - runs-on: ubuntu-latest - name: lint - timeout-minutes: 60 - - steps: - - uses: actions/checkout@v4 - - - name: Install mdbook-linkcheck - run: | - mkdir mdbook-linkcheck - curl -sSL -o mdbook-linkcheck.zip https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases/latest/download/mdbook-linkcheck.x86_64-unknown-linux-gnu.zip - unzip mdbook-linkcheck.zip -d ./mdbook-linkcheck - chmod +x $(pwd)/mdbook-linkcheck/mdbook-linkcheck - echo $(pwd)/mdbook-linkcheck >> $GITHUB_PATH - - - name: Run linkcheck - run: mdbook-linkcheck --standalone +defaults: + run: + working-directory: book +jobs: build: + name: Build Docusaurus runs-on: ubuntu-latest - timeout-minutes: 60 steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@nightly - - name: Install mdbook - run: | - mkdir mdbook - curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.14/mdbook-v0.4.14-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=./mdbook - echo $(pwd)/mdbook >> $GITHUB_PATH - - - name: Install mdbook-template - run: | - mkdir mdbook-template - curl -sSL https://github.com/sgoudham/mdbook-template/releases/latest/download/mdbook-template-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=./mdbook-template - echo $(pwd)/mdbook-template >> $GITHUB_PATH - - - uses: Swatinem/rust-cache@v2 with: - cache-on-failure: true - - - name: Build book - run: mdbook build - - # - name: Build docs - # run: cargo docs - # env: - # # Keep in sync with ./ci.yml:jobs.docs - # RUSTDOCFLAGS: - # --cfg docsrs --show-type-layout --generate-link-to-definition --enable-index-page - # -Zunstable-options - - # - name: Move docs to book folder - # run: | - # mv target/doc target/book/docs + fetch-depth: 0 + - uses: actions/setup-node@v4 + with: + node-version: 18 + cache: npm - - name: Archive artifact - shell: sh - run: | - chmod -c -R +rX "target/book" | - while read line; do - echo "::warning title=Invalid file permissions automatically fixed::$line" - done - tar \ - --dereference --hard-dereference \ - --directory "target/book" \ - -cvf "$RUNNER_TEMP/artifact.tar" \ - --exclude=.git \ - --exclude=.github \ - . + - name: Install dependencies + run: npm ci + - name: Build website + run: npm run build - - name: Upload artifact - uses: actions/upload-artifact@v4 + - name: Upload Build Artifact + uses: actions/upload-pages-artifact@v3 with: - name: github-pages - path: ${{ runner.temp }}/artifact.tar - retention-days: 1 - if-no-files-found: error + path: build deploy: # Only deploy if a push to main if: github.ref_name == 'main' && github.event_name == 'push' runs-on: ubuntu-latest - needs: [lint, build] + needs: [build] # Grant GITHUB_TOKEN the permissions required to make a Pages deployment permissions: @@ -135,4 +59,4 @@ jobs: steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v4 \ No newline at end of file + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/test-book.yml b/.github/workflows/test-book.yml new file mode 100644 index 0000000000..c80530a72f --- /dev/null +++ b/.github/workflows/test-book.yml @@ -0,0 +1,30 @@ +name: Test deployment + +on: + pull_request: + branches: [main, dev] + +defaults: + run: + working-directory: book + +jobs: + test-deploy: + name: Test doc build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - uses: actions/setup-node@v4 + with: + node-version: 18 + cache: npm + cache-dependency-path: book/package-lock.json + + - name: Install dependencies + run: npm ci + + - name: Test build website + run: npm run build diff --git a/book/docusaurus.config.ts b/book/docusaurus.config.ts index 138a7891df..41969cbb85 100644 --- a/book/docusaurus.config.ts +++ b/book/docusaurus.config.ts @@ -19,6 +19,8 @@ const config: Config = { // If you aren't using GitHub pages, you don't need these. organizationName: 'succinctlabs', // Usually your GitHub org/user name. projectName: 'sp1', // Usually your repo name. + deploymentBranch: 'main', + trailingSlash: false, onBrokenLinks: 'throw', onBrokenMarkdownLinks: 'warn',