From 637667196223e03c5d0cff82481f08bcdf82331f Mon Sep 17 00:00:00 2001 From: Aspecky Date: Thu, 11 Jan 2024 23:38:35 +0100 Subject: [PATCH] deploy --- .github/workflows/deploy.yml | 66 ++++++++++++++++++++++++++++++++++++ docs/.vitepress/config.mjs | 5 +-- docs/guide/performance.md | 4 +-- docs/index.md | 2 +- 4 files changed, 72 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..8f8f8a8 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,66 @@ +# Sample workflow for building and deploying a VitePress site to GitHub Pages +# +name: Deploy VitePress site to Pages + +on: + # Runs on pushes targeting the `main` branch. Change this to `master` if you're + # using the `master` branch as the default branch. + push: + branches: [main] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + 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: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 # Not needed if lastUpdated is not enabled + # - uses: pnpm/action-setup@v2 # Uncomment this if you're using pnpm + # - uses: oven-sh/setup-bun@v1 # Uncomment this if you're using Bun + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 18 + cache: npm # or pnpm / yarn + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Install dependencies + run: npm ci # or pnpm install / yarn install / bun install + - name: Build with VitePress + run: | + npm run docs:build # or pnpm docs:build / yarn docs:build / bun run docs:build + touch docs/.vitepress/dist/.nojekyll + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + path: docs/.vitepress/dist + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + needs: build + runs-on: ubuntu-latest + name: Deploy + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 \ No newline at end of file diff --git a/docs/.vitepress/config.mjs b/docs/.vitepress/config.mjs index a7f0765..d57ab92 100644 --- a/docs/.vitepress/config.mjs +++ b/docs/.vitepress/config.mjs @@ -2,8 +2,9 @@ import { defineConfig } from 'vitepress' // https://vitepress.dev/reference/site-config export default defineConfig({ - title: "LemonSignal", - description: "A pure Luau signal implementation.", + title: 'LemonSignal', + base: '/LemonSignal/', + description: 'A pure Luau signal implementation.', head: [['link', { rel: 'icon', href: '/favicon.ico' }]], themeConfig: { // https://vitepress.dev/reference/default-theme-config diff --git a/docs/guide/performance.md b/docs/guide/performance.md index 81acce7..9c030ad 100644 --- a/docs/guide/performance.md +++ b/docs/guide/performance.md @@ -32,8 +32,8 @@ From the benchmarks above, we can conclude that a doubly linked list strikes the * Fast iteration making :Fire run as fast as an array * Solves singly's O(n) disconnect by making it O(1) which makes it as fast as the other 2 -All the signal implementations as ModuleScripts are here [signals.rbxm](/benchmarks/signals.rbxm)
-All the `.bench` ModuleScripts that the benchmarker plugin uses are here [benches.rbxm](\benchmarks\benches.rbxm) +All the signal implementations as ModuleScripts are here [signals.rbxm](https://github.com/Data-Oriented-House/LemonSignal/blob/main/docs/public/benchmarks/signals.rbxm)
+All the `.bench` ModuleScripts that the benchmarker plugin uses are here [benches.rbxm](https://github.com/Data-Oriented-House/LemonSignal/blob/main/docs/public/benchmarks/benches.rbxm) ## Thread recycling Recycling a thread aka a coroutine helps [task.spawn](https://create.roblox.com/docs/reference/engine/libraries/task#spawn) and [coroutine.resume](https://create.roblox.com/docs/reference/engine/libraries/coroutine#resume) run significantly faster, about 70%, because those functions wont need to go through the trouble of creating a thread. diff --git a/docs/index.md b/docs/index.md index e8fefa2..19b6d8d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,7 +10,7 @@ hero: link: /guide/what-is-lemonsignal - theme: alt text: API Reference - link: /api-examples + link: /classes/signal image: src: /lemon.png