From 5c7a28c65525b97c7a96bcf5374391962bd8235f Mon Sep 17 00:00:00 2001 From: Matt Carroll Date: Sat, 14 Jun 2025 17:52:13 -0700 Subject: [PATCH 1/2] [Docs] - Configure CI build/deploy for GitHub Pages (Resolves #51) --- .../workflows/build_and_deploy_website.yaml | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/build_and_deploy_website.yaml diff --git a/.github/workflows/build_and_deploy_website.yaml b/.github/workflows/build_and_deploy_website.yaml new file mode 100644 index 0000000..eedc22e --- /dev/null +++ b/.github/workflows/build_and_deploy_website.yaml @@ -0,0 +1,49 @@ +name: Build and deploy website +on: + push: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./doc/website + steps: + # Checkout the repository + - uses: actions/checkout@v3 + + # Setup a Dart environment + - uses: dart-lang/setup-dart@v1 + + # Download all the packages that the app uses + - run: dart pub get + + # Build the static site. + - run: dart run bin/main.dart + + # Zip and upload the static site. + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./doc/website/build + + deploy: + name: Deploy + needs: build + runs-on: ubuntu-latest + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 From 469407076622917c98fad3f1a9f443c2bc4e3a9b Mon Sep 17 00:00:00 2001 From: Matt Carroll Date: Sat, 14 Jun 2025 17:55:04 -0700 Subject: [PATCH 2/2] Build website on every PR (but don't upload or deploy) --- .../workflows/build_and_deploy_website.yaml | 1 + .github/workflows/pr_validation.yaml | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 .github/workflows/pr_validation.yaml diff --git a/.github/workflows/build_and_deploy_website.yaml b/.github/workflows/build_and_deploy_website.yaml index eedc22e..a2ab6a0 100644 --- a/.github/workflows/build_and_deploy_website.yaml +++ b/.github/workflows/build_and_deploy_website.yaml @@ -3,6 +3,7 @@ on: push: branches: - main + workflow_dispatch: jobs: build: diff --git a/.github/workflows/pr_validation.yaml b/.github/workflows/pr_validation.yaml new file mode 100644 index 0000000..997b407 --- /dev/null +++ b/.github/workflows/pr_validation.yaml @@ -0,0 +1,22 @@ +name: PR Validation +on: + pull_request: + +jobs: + build_website: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./doc/website + steps: + # Checkout the repository + - uses: actions/checkout@v3 + + # Setup a Dart environment + - uses: dart-lang/setup-dart@v1 + + # Download all the packages that the app uses + - run: dart pub get + + # Build the static site. + - run: dart run bin/main.dart