From be5f4821ee5d3db022105263ccc7c6f4534d4305 Mon Sep 17 00:00:00 2001 From: Adeoye Adefemi Date: Tue, 14 May 2024 09:33:08 +0100 Subject: [PATCH] chore: add github workflow to handle deployment --- .github/workflows/gh-pages-deploy.yml | 86 +++++++++++++++++++++ utils-web/Cargo.toml | 3 +- utils-web/src/components/button/button.scss | 5 ++ utils-web/src/components/button/mod.rs | 0 4 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/gh-pages-deploy.yml create mode 100644 utils-web/src/components/button/button.scss create mode 100644 utils-web/src/components/button/mod.rs diff --git a/.github/workflows/gh-pages-deploy.yml b/.github/workflows/gh-pages-deploy.yml new file mode 100644 index 0000000..e7ec84b --- /dev/null +++ b/.github/workflows/gh-pages-deploy.yml @@ -0,0 +1,86 @@ +name: Release Utils Web to Github Pages + +on: +push: + branches: [master] +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... + - 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.2/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: cd utils-web && ./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 diff --git a/utils-web/Cargo.toml b/utils-web/Cargo.toml index f29df5d..b57d7e6 100644 --- a/utils-web/Cargo.toml +++ b/utils-web/Cargo.toml @@ -14,6 +14,7 @@ leptos_router = { version = "0.6.11", features = ["csr"] } leptos_meta = { version = "0.6.11", features = ["csr"] } gloo-net = { version = "0.2", features = ["http"] } log = "0.4.21" +stylers = "0.3.2" @@ -36,4 +37,4 @@ reload_port = 3001 # the parent folder will be watched for changes file = "style/output.css" # A https://browsersl.ist query -browserquery = "defaults" \ No newline at end of file +browserquery = "defaults" diff --git a/utils-web/src/components/button/button.scss b/utils-web/src/components/button/button.scss new file mode 100644 index 0000000..f5e6998 --- /dev/null +++ b/utils-web/src/components/button/button.scss @@ -0,0 +1,5 @@ +button { + background: red; + border: 1 px solid green; + border-radius: 12px; +} \ No newline at end of file diff --git a/utils-web/src/components/button/mod.rs b/utils-web/src/components/button/mod.rs new file mode 100644 index 0000000..e69de29