Skip to content

Commit

Permalink
move hyperparam to packages, fix CI, and improve READMEs (#54)
Browse files Browse the repository at this point in the history
* move hyperparam to packages, fix CI, and improve READMEs

* fix ci

* trigger CI is _common_jobs.yml is updated

* rebuild
  • Loading branch information
severo authored Nov 21, 2024
1 parent 8cd859a commit e8f3a9d
Show file tree
Hide file tree
Showing 36 changed files with 111 additions and 203 deletions.
48 changes: 48 additions & 0 deletions .github/workflows/_common_jobs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Launch CI jobs for a package or app
on:
workflow_call:
inputs:
working-directory:
required: true
type: string
jobs:
lint:
defaults:
run:
working-directory: ${{ inputs.working-directory }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run lint

typecheck:
defaults:
run:
working-directory: ${{ inputs.working-directory }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: tsc

test:
defaults:
run:
working-directory: ${{ inputs.working-directory }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run coverage

buildcheck:
defaults:
run:
working-directory: ${{ inputs.working-directory }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run build

57 changes: 0 additions & 57 deletions .github/workflows/ci_apps_cli.yml

This file was deleted.

37 changes: 5 additions & 32 deletions .github/workflows/ci_apps_hightable_demo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,11 @@ on:
push:
paths:
- 'apps/hightable-demo/**'
- '.github/workflows/_common_jobs.yml'
- '.github/workflows/ci_apps_hightable_demo.yml'
- 'shared.eslint.config.js'

defaults:
run:
working-directory: ./apps/hightable-demo

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run lint

typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: tsc

test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run coverage

buildcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run build
ci:
uses: ./.github/workflows/_common_jobs.yml
with:
working-directory: apps/hightable-demo
37 changes: 5 additions & 32 deletions .github/workflows/ci_apps_hyparquet_demo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,11 @@ on:
push:
paths:
- 'apps/hyparquet-demo/**'
- '.github/workflows/_common_jobs.yml'
- '.github/workflows/ci_apps_hyparquet_demo.yml'
- 'shared.eslint.config.js'

defaults:
run:
working-directory: ./apps/hyparquet-demo

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run lint

typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: tsc

test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run coverage

buildcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run build
ci:
uses: ./.github/workflows/_common_jobs.yml
with:
working-directory: apps/hyparquet-demo
13 changes: 13 additions & 0 deletions .github/workflows/ci_packages_cli.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: apps/cli
on:
push:
paths:
- 'packages/cli/**'
- '.github/workflows/_common_jobs.yml'
- '.github/workflows/ci_packages_cli.yml'
- 'shared.eslint.config.js'
jobs:
ci:
uses: ./.github/workflows/_common_jobs.yml
with:
working-directory: packages/cli
37 changes: 5 additions & 32 deletions .github/workflows/ci_packages_components.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,11 @@ on:
push:
paths:
- 'packages/components/**'
- '.github/workflows/_common_jobs.yml'
- '.github/workflows/ci_packages_components.yml'
- 'shared.eslint.config.js'

defaults:
run:
working-directory: ./packages/components

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run lint

typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: tsc

test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run coverage

buildcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run build
ci:
uses: ./.github/workflows/_common_jobs.yml
with:
working-directory: packages/components
37 changes: 5 additions & 32 deletions .github/workflows/ci_packages_utils.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,11 @@ on:
push:
paths:
- 'packages/utils/**'
- '.github/workflows/_common_jobs.yml'
- '.github/workflows/ci_packages_utils.yml'
- 'shared.eslint.config.js'

defaults:
run:
working-directory: ./packages/utils

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run lint

typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: tsc

test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run coverage

buildcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run build
ci:
uses: ./.github/workflows/_common_jobs.yml
with:
working-directory: packages/utils
1 change: 0 additions & 1 deletion .github/workflows/deploy_pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
push:
branches: ["master"]
paths:
- "packages/utils/**"
- "apps/hyparquet-demo/**"
- "apps/hightable-demo/**"
- ".github/workflows/deploy_pages.yml"
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@

This is a monorepo for the Hyperparam project.

It contains the following package:
It contains the following packages, published to npm:
- [`@hyparam/components`](./packages/components): a library of React components for building Hyperparam UIs.
- [`@hyparam/utils`](./packages/utils): a library of utils.
- [`hyperparam`](./packages/cli): a cli tool for viewing arbitrarily large datasets in the browser.

It also contains the following applications:
- [`hyperparam`](./apps/cli): a cli tool for viewing arbitrarily large datasets in the browser.
- [`hightable-demo`](./apps/hightable-demo): an example project showing how to use [hightable](https://github.com/hyparam/hightable).
- [`hyparquet-demo`](./apps/hyparquet-demo): an example project showing how to use [hyparquet](https://github.com/hyparam/hyparquet).

## Development

The dependencies between the packages and applications of this monorepo are pinned, and the packages are published to npm. It means that the changes in a dependency are not automatically reflected in the dependent package or application.

To make the development easier, you can locally replace the npm dependencies with the local packages, replacing the pinned versions (eg `"@hyparam/utils": "0.1.0",`) with a relative path (`"@hyparam/utils": "file:../../packages/utils",`). It's not ideal, we might switch to pnpm or yarn workspaces in the future.
To make the development easier, you can locally replace the npm dependencies with the local packages, replacing the pinned versions (eg `"@hyparam/utils": "0.1.0",`) with a relative path (`"@hyparam/utils": "file:../../packages/utils",`).
11 changes: 0 additions & 11 deletions apps/cli/public/build/app.min.js

This file was deleted.

1 change: 0 additions & 1 deletion apps/cli/public/build/app.min.js.map

This file was deleted.

File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion apps/cli/package.json → packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "hyperparam",
"version": "0.1.18",
"version": "0.2.0",
"description": "Hyperparam CLI",
"license": "MIT",
"main": "src/cli.js",
Expand Down
File renamed without changes.
20 changes: 20 additions & 0 deletions packages/cli/public/build/app.min.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions packages/cli/public/build/app.min.js.map

Large diffs are not rendered by default.

File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
4 changes: 4 additions & 0 deletions packages/components/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# React components for hyparam apps

This package contains the React components for the hyparam apps.

It depends on [hyparquet](https://github.com/hyparam/hyparquet), [hyparquet-compressors](https://github.com/hyparam/hyparquet-compressors), [hightable](https://github.com/hyparam/hightable/) and [@hyparam/utils](https://github.com/hyparam/hyperparam-cli/tree/master/packages/utils), and requires React to be installed (peer-dependency).

It is used in [hyperparam](https://github.com/hyparam/hyperparam-cli/tree/master/packages/cli).
2 changes: 1 addition & 1 deletion packages/utils/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This package contains utility functions for the hyparam apps.
It depends on [hyparquet](https://github.com/hyparam/hyparquet), [hyparquet-compressors](https://github.com/hyparam/hyparquet-compressors) and [hightable](https://github.com/hyparam/hightable/).

It is used in:
- [hyperparam-cli](https://github.com/hyparam/hyperparam-cli/tree/master/apps/cli)
- [hyperparam](https://github.com/hyparam/hyperparam-cli/tree/master/packages/cli)
- [hyparquet-demo](https://github.com/hyparam/hyperparam-cli/tree/master/apps/hyparquet-demo)
- [hightable-demo](https://github.com/hyparam/hyperparam-cli/tree/master/apps/hightable-demo)
- [@hyparam/components](https://github.com/hyparam/hyperparam-cli/tree/master/packages/components)

0 comments on commit e8f3a9d

Please sign in to comment.