feat: add autocomplete #462
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# SPDX-FileCopyrightText: 2024 Dyne.org foundation | |
# | |
# SPDX-License-Identifier: AGPL-3.0-or-later | |
name: π§ͺ Lint and test | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
permissions: | |
contents: write | |
pages: write | |
id-token: write | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref_name }} | |
cancel-in-progress: true | |
jobs: | |
reuse: | |
name: π¨ reuse | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: fsfe/reuse-action@v4 | |
build_and_test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
max-parallel: 1 | |
matrix: | |
node: [ lts/*, current ] | |
steps: | |
- name: π οΈ Prepare pnpm workspace | |
uses: dyne/pnpm@main | |
with: | |
node-version: ${{ matrix.node }} | |
- uses: supercharge/[email protected] | |
with: | |
redis-version: 6 | |
- name: Linting | |
continue-on-error: true | |
run: pnpm lint | |
- name: π€ Start pocketbase | |
run: | | |
./pkg/pocketbase/test/pocketbase serve & | |
while ! nc -z 0.0.0.0 8090; do echo "pocketbase not ready" && sleep 1; done | |
- name: π§ͺ Run the tests | |
run: pnpm coverage | |
- name: π§ͺ Test grammar package | |
run: pnpm test:grammar | |
- name: π¨ Setup playwright | |
run: | | |
npx playwright install | |
npx playwright install-deps | |
pnpm build | |
pnpm exec playwright test | |
working-directory: ./pkg/browser | |
build_docs: | |
runs-on: ubuntu-latest | |
needs: build_and_test | |
if: github.ref == 'refs/heads/main' | |
steps: | |
- name: π οΈ Prepare pnpm workspace | |
uses: dyne/pnpm@main | |
- name: π Setup Pages | |
uses: actions/configure-pages@v5 | |
- name: ποΈ update sentences tabled and build the docs | |
run: pnpm build && pnpm run docs | |
- name: β« Upload artifact | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
path: docs/.vitepress/dist | |
deploy_docs: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
needs: build_docs | |
runs-on: ubuntu-latest | |
name: Deploy documentation | |
steps: | |
- name: π‘ Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v4 | |
publish: | |
runs-on: ubuntu-latest | |
needs: build_and_test | |
if: github.ref == 'refs/heads/main' | |
steps: | |
- name: π οΈ Prepare pnpm workspace | |
uses: dyne/pnpm@main | |
- name: ποΈ Build all | |
run: pnpm build | |
- name: π Build @slangroom/browser | |
run: pnpm build | |
working-directory: ./pkg/browser | |
- name: π¦ Releases | |
run: | | |
git config --global user.email "[email protected]" && git config --global user.name "Dev Dyne.org" | |
echo "//registry.npmjs.org/:_authToken=$NODE_AUTH_TOKEN" > .npmrc | |
pnpm whoami | |
pnpm publish:ci | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |