diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 4616466..c6d427c 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -3,8 +3,6 @@ on: push: tags: - v* -env: - CI: true jobs: release: @@ -13,22 +11,16 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Setup Node.js environment - uses: actions/setup-node@v4 + - name: Setup Bun + uses: oven-sh/setup-bun@v2 with: - node-version: 22 - cache: "npm" + bun-version: latest - name: Install Dependencies - run: npm install - - # Ensure a new version doesn't get published to npm if it doesn't - # pass all required checks/validation: - - name: Run Checks - run: npm run typecheck && npm run prettier:ci && npm run eslint + run: bun install - name: Build - run: npm run build + run: bun run build - name: Publish to npm uses: laserware/propellant@v1.0.2 diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml new file mode 100644 index 0000000..d3fd6d8 --- /dev/null +++ b/.github/workflows/static.yml @@ -0,0 +1,55 @@ +name: Deploy Documentation Site + +on: + push: + branches: [ "main" ] + + # Allows you to run this workflow manually from the Actions tab: + workflow_dispatch: + +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: + deploy: + name: Deployment + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: latest + + - name: Install Dependencies + run: bun install + + - name: Build Static Files + id: build + run: bun run docs:generate + + - name: Setup Pages + uses: actions/configure-pages@v5 + + - name: Upload Artifact + uses: actions/upload-pages-artifact@v3 + with: + path: "site" + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/validate.yaml b/.github/workflows/validate.yaml index efc55f4..e235b5d 100644 --- a/.github/workflows/validate.yaml +++ b/.github/workflows/validate.yaml @@ -1,7 +1,5 @@ name: Validate on: [push] -env: - CI: true jobs: check: @@ -10,20 +8,19 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Setup Node.js environment - uses: actions/setup-node@v4 + - name: Setup Bun + uses: oven-sh/setup-bun@v2 with: - node-version: 22 - cache: "npm" + bun-version: latest - - name: Install dependencies - run: npm install + - name: Install Dependencies + run: bun install - - name: ESLint - run: npm run eslint - - - name: Check Formatting - run: npm run prettier:ci + - name: Run Biome Checks + run: bun run ci - name: Check Types - run: npm run typecheck + run: bun run check:types + + - name: Run Unit Tests + run: bun test diff --git a/.gitignore b/.gitignore index 500e310..8d859af 100644 --- a/.gitignore +++ b/.gitignore @@ -59,3 +59,4 @@ yarn.lock pnpm-lock.yaml .pnp.* .idea +site diff --git a/.run/Build.run.xml b/.run/Build.run.xml new file mode 100644 index 0000000..331584f --- /dev/null +++ b/.run/Build.run.xml @@ -0,0 +1,12 @@ + + + + + +