Skip to content

Commit

Permalink
init: init
Browse files Browse the repository at this point in the history
Signed-off-by: Neko Ayaka <[email protected]>
  • Loading branch information
nekomeowww committed May 4, 2024
0 parents commit 9a4b128
Show file tree
Hide file tree
Showing 41 changed files with 8,477 additions and 0 deletions.
9 changes: 9 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
82 changes: 82 additions & 0 deletions .github/workflows/ci-build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: Build Previewing Docs

on:
pull_request:
branches:
- main

env:
STORE_PATH: ''

jobs:
build:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]

name: Build - ${{ matrix.os }}

runs-on: ${{ matrix.os }}
steps:
# This is quite weird.
# Eventhough this is the *intended* solution introduces in official blog post here
# https://securitylab.github.com/research/github-actions-preventing-pwn-requests/.
# But still, as https://github.com/orgs/community/discussions/25220#discussioncomment-7856118 stated,
# this is vulnerable since there is no source of truth about which PR in the triggered workflow.
- name: Presist PR number
run: |
echo "${{ github.event.number }}" > pr_num
- name: Upload PR artifact
uses: actions/upload-artifact@v2
with:
name: pr-num
path: ./pr_num

- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Install Node.js 22.x
uses: actions/setup-node@v3
with:
node-version: 22.x

- uses: pnpm/action-setup@v3
name: Install pnpm
with:
version: 9
run_install: false

- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build packages
run: pnpm packages:build
env:
# As suggested in Verbose Build option to be able to track down errors https://github.com/vuejs/vitepress/issues/422
# vitepress build command does not have --debug option, so we need to set it manually where the debug package is used.
DEBUG: '*'

- name: Build docs
run: pnpm docs:build

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: docs-${{ matrix.os }}-build
path: docs/.vitepress/dist
146 changes: 146 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
name: CI

on:
push:
paths-ignore:
- 'docs/pages/**'
branches:
- main
pull_request:
paths-ignore:
- 'docs/pages/**'
branches:
- main

env:
STORE_PATH: ''

jobs:
unittest:
strategy:
matrix:
node-version: ['20.x', '22.x']

name: Unit tests - ${{ matrix.node-version }}
runs-on: 'ubuntu-latest'

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Install Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

- uses: pnpm/action-setup@v3
name: Install pnpm
with:
version: 9
run_install: false

- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build packages
run: pnpm run packages:build

- name: Test
run: pnpm run test:run

lint:
strategy:
matrix:
node-version: ['20.x', '22.x']

name: Lint - ${{ matrix.node-version }}
runs-on: 'ubuntu-latest'

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Install Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

- uses: pnpm/action-setup@v3
name: Install pnpm
with:
version: 9
run_install: false

- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Lint
run: pnpm run lint

packages-build-test:
strategy:
matrix:
node-version: ['20.x', '22.x']

name: Packages Build Test - ${{ matrix.node-version }}
runs-on: 'ubuntu-latest'

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Install Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

- uses: pnpm/action-setup@v3
name: Install pnpm
with:
version: 9
run_install: false

- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build packages
run: pnpm run packages:build
Loading

0 comments on commit 9a4b128

Please sign in to comment.