Skip to content

Commit

Permalink
chore: initial commit for release to github
Browse files Browse the repository at this point in the history
  • Loading branch information
firxworx committed Nov 14, 2024
0 parents commit ea7321f
Show file tree
Hide file tree
Showing 175 changed files with 14,000 additions and 0 deletions.
11 changes: 11 additions & 0 deletions .changeset/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Changesets

This directory was automatically generated by `@changesets/cli`, a build tool to version and publish packages.

Docs: https://github.com/changesets/changesets

Common Questions: https://github.com/changesets/changesets/blob/main/docs/common-questions.md

Refer to `config.json` for the config file. Consider the `fixed` and `linked` package options for this workspace.

Config Docs: https://github.com/changesets/changesets/blob/main/docs/config-file-options.md
15 changes: 15 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"$schema": "https://unpkg.com/@changesets/[email protected]/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [],
"linked": [],
"access": "restricted",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"privatePackages": {
"version": true,
"tag": true
},
"ignore": ["client"]
}
105 changes: 105 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# dependencies
node_modules

# build output
dist
build

# workflow
docs/
notes/
tmp/

# development
.changeset
.vscode
.github
.git
*.rest

# frameworks
.astro/
.dynamodb/
.cdk.staging/
.next/
.nuxt/
.vuepress/dist
.serverless/
.turbo/
.fusebox/
.tern-port/
.vercel/
.vite/

# logs + cache
logs
*.log
.cache/
*.bak

# env files
.env
.env.*
.nx-cloud.env

# ignore files
.gitignore

# configs
.editorconfig
biome.jsonc
eslint.*
prettier.config.*
syncpack.config.*
tsup.config.*
vite.config.*
vitest.config.*

# markdown
CHANGELOG.md
CONTRIBUTING.md
LICENSE
LICENSE.md
README.md
*README*.md
*NOTES*.md
*DOCS*.md

# docker
Dockerfile
docker-compose.yml

# common secrets
*.pem
*.key
*.csr
*.crt
*.cert
*.certificate
*.credentials.json
*.p12
*.pfx
*.secret.*

# diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# coverage and related tools such as instanbul
/coverage
.nyc_output
lib-cov
*.lcov

# tests
.test.js
.spec.js
.test.ts
.spec.ts

# editors
.vscode/
.idea/
*.swp

# misc
.DS_Store
48 changes: 48 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Editor configuration -- see http://editorconfig.org

root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 2

[*.{astro,js,jsx,ts,tsx,cjs,mjs,html,css,sass,scss,less,sh}]
indent_style = space
indent_size = 2

[*.py]
indent_style = space
indent_size = 4

# indent 4 is more official for php however 2 is a preference for compact code
[*.php]
indent_style = space
indent_size = 2

[*.sql]
indent_style = space
indent_size = 2

[*.{xml,yml,yaml,json}]
indent_style = space
indent_size = 2

[*.{md,mdx}]
indent_style = space
indent_size = 2
max_line_length = off
trim_trailing_whitespace = false

[{Dockerfile,Dockerfile.*}]
indent_style = space
indent_size = 2

[Makefile]
indent_style = tab

# [{*.txt,wp-config-sample.php,wp-config.php}]
# end_of_line = crlf
2 changes: 2 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# timezone should always be UTC for all servers and databases to avoid timezone and DST issues
TZ="UTC"
117 changes: 117 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:

concurrency:
group: ci-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

# env:
# PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/.cache/ms-playwright

# permissions can also be specified at the job level
permissions:
id-token: write # required for requesting signed jwt (e.g. for aws)
contents: read # required by actions/checkout
statuses: write # required for updating commit status
pull-requests: write # required for writing pr comments
# deployments: write # required by bobheadxi/deployments (uncomment if in use)

jobs:
test:
name: Test & Build
timeout-minutes: 10
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ubuntu-latest]
node-version: [lts/*] # e.g. [20] [20.x, lts/*]
pnpm-version: [latest] # e.g. [9]
fail-fast: false

steps:
- name: Checkout
id: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup node ${{ matrix.node-version }}
id: setup-node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
architecture: ''

- name: Install pnpm
id: pnpm-install
uses: pnpm/action-setup@v4
with:
version: ${{ matrix.pnpm-version }}
run_install: false

- name: Get pnpm store path
id: pnpm-store-path
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent | tr -d '\n')" >> $GITHUB_OUTPUT
- name: Setup pnpm cache
id: pnpm-setup-cache
uses: actions/cache@v4
with:
path: ${{ steps.pnpm-store-path.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
# reminder: the pnpm-setup-cache post-action takes care of running `pnpm store prune`

- name: Install dependencies
id: install-dependencies
run: pnpm install --frozen-lockfile

- name: Run lint checks
id: eslint
run: pnpm ci:lint

# build must run first to ensure dist/ directories referenced package.json's are present for imports to resolve

- name: Build
id: build-packages
run: |
pnpm ci:build
- name: Check types
id: check
run: pnpm ci:typecheck

- name: Test
id: test
run: pnpm ci:test

- name: Report status
if: always()
uses: actions/github-script@v7
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const { owner, repo } = context.repo;
const { sha } = context;
const run_id = context.runId;
github.rest.repos.createCommitStatus({
owner,
repo,
sha,
state: 'success',
target_url: `https://github.com/${owner}/${repo}/actions/runs/${run_id}`,
description: 'CI passed!',
context: 'Test & Build'
});
Loading

0 comments on commit ea7321f

Please sign in to comment.