From 67bd97f470daa7fe0ebfa3c16f1db0c107e85a27 Mon Sep 17 00:00:00 2001 From: Alex Stokes Date: Tue, 12 Sep 2023 11:26:08 -0600 Subject: [PATCH] add basic mdbook and CI job to build to GH pages --- .github/workflows/book.yml | 121 +++++++++++++++++++++++++++++++++++++ book.toml | 12 ++++ book/SUMMARY.md | 4 ++ book/introduction.md | 3 + book/mev-build-rs.md | 3 + justfile | 5 ++ 6 files changed, 148 insertions(+) create mode 100644 .github/workflows/book.yml create mode 100644 book.toml create mode 100644 book/SUMMARY.md create mode 100644 book/introduction.md create mode 100644 book/mev-build-rs.md diff --git a/.github/workflows/book.yml b/.github/workflows/book.yml new file mode 100644 index 00000000..ab1c0c2e --- /dev/null +++ b/.github/workflows/book.yml @@ -0,0 +1,121 @@ +# cribbed from: https://github.com/paradigmxyz/reth/blob/21db2936e617d1018c0bfa5690d8f035dee2843f/.github/workflows/book.yml +name: book + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + # test: + # runs-on: ubuntu-latest + # name: test + + # steps: + # - uses: actions/checkout@v3 + + # - 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-20.04 + # name: lint + + # steps: + # - uses: actions/checkout@v3 + + # - 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 + + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install toolchain + uses: dtolnay/rust-toolchain@nightly + - uses: Swatinem/rust-cache@v2 + with: + cache-on-failure: true + + - 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: Build book + run: mdbook build + + - name: Build docs + run: RUSTDOCFLAGS="--enable-index-page -Zunstable-options" cargo +nightly doc --all --no-deps + + - name: Move docs to book folder + run: | + mv target/doc target/book/docs + + - 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: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: github-pages + path: ${{ runner.temp }}/artifact.tar + retention-days: 1 + if-no-files-found: error + + deploy: + # Only deploy if a push to main + if: github.ref_name == 'main' && github.event_name == 'push' + runs-on: ubuntu-latest + needs: [build] + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write + id-token: write + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 diff --git a/book.toml b/book.toml new file mode 100644 index 00000000..e92e850e --- /dev/null +++ b/book.toml @@ -0,0 +1,12 @@ +[book] +authors = ["mev-rs contributors"] +language = "en" +multilingual = false +src = "book" +title = "mev-rs" + +[output.html] +git-repository-url = "https://github.com/ralexstokes/mev-rs" + +[build] +build-dir = "target/book" diff --git a/book/SUMMARY.md b/book/SUMMARY.md new file mode 100644 index 00000000..1cf15641 --- /dev/null +++ b/book/SUMMARY.md @@ -0,0 +1,4 @@ +# Summary + +- [intro](./introduction.md) +- [mev-build-rs](./mev-build-rs.md) diff --git a/book/introduction.md b/book/introduction.md new file mode 100644 index 00000000..ecf3790e --- /dev/null +++ b/book/introduction.md @@ -0,0 +1,3 @@ +# `mev-rs` + +a platform for exploring mev research and development diff --git a/book/mev-build-rs.md b/book/mev-build-rs.md new file mode 100644 index 00000000..4259a090 --- /dev/null +++ b/book/mev-build-rs.md @@ -0,0 +1,3 @@ +# `mev-build-rs` + +how to run the builder diff --git a/justfile b/justfile index a8499f89..69e70f4e 100644 --- a/justfile +++ b/justfile @@ -19,3 +19,8 @@ lint: fmt validate-example-config build: cargo build --all-targets --all-features --all run-ci: lint build test run-integration-tests + +build-book: + mdbook build +serve-book: + mdbook serve --open