From d39aebaf3c082822bc8fb895b36b41f74cfbbb48 Mon Sep 17 00:00:00 2001 From: Michiel De Muynck Date: Fri, 25 Oct 2024 22:02:37 +0200 Subject: [PATCH] Test deploy to Github pages --- .github/workflows/main.yml | 86 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..7b4d122 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,86 @@ +name: Release to Github Pages + +on: + push: + branches: [main] + workflow_dispatch: + +permissions: + contents: write # for committing to gh-pages branch. + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + Github-Pages-Release: + + timeout-minutes: 10 + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 # repo checkout + + # Install Rust Nightly Toolchain, with Clippy & Rustfmt + - name: Install nightly Rust + uses: dtolnay/rust-toolchain@nightly + with: + components: clippy, rustfmt + + - name: Add WASM target + run: rustup target add wasm32-unknown-unknown + + - name: lint + run: cargo clippy & cargo fmt + + + # If using tailwind... (note: we are not... yet?) + # - name: Download and install tailwindcss binary + # run: npm install -D tailwindcss && npx tailwindcss -i -o # run tailwind + + + - name: Download and install Trunk binary + run: wget -qO- https://github.com/trunk-rs/trunk/releases/download/v0.18.4/trunk-x86_64-unknown-linux-gnu.tar.gz | tar -xzf- + + - name: Build with Trunk + # "${GITHUB_REPOSITORY#*/}" evaluates into the name of the repository + # using --public-url something will allow trunk to modify all the href paths like from favicon.ico to repo_name/favicon.ico . + # this is necessary for github pages where the site is deployed to username.github.io/repo_name and all files must be requested + # relatively as favicon.ico. if we skip public-url option, the href paths will instead request username.github.io/favicon.ico which + # will obviously return error 404 not found. + run: ./trunk build --release --public-url "${GITHUB_REPOSITORY#*/}" + + + # Deploy to gh-pages branch + # - name: Deploy 🚀 + # uses: JamesIves/github-pages-deploy-action@v4 + # with: + # folder: dist + + + # Deploy with Github Static Pages + + - name: Setup Pages + uses: actions/configure-pages@v4 + with: + enablement: true + # token: + + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + # Upload dist dir + path: './dist' + + - name: Deploy to GitHub Pages 🚀 + id: deployment + uses: actions/deploy-pages@v3