Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin' into dropdown-combobox
Browse files Browse the repository at this point in the history
  • Loading branch information
jandrade committed Nov 25, 2024
2 parents a0cbf60 + c512e76 commit 154ff2f
Show file tree
Hide file tree
Showing 134 changed files with 5,420 additions and 1,642 deletions.
2 changes: 2 additions & 0 deletions .changeset/afraid-buckets-yell.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
5 changes: 0 additions & 5 deletions .changeset/fluffy-forks-check.md

This file was deleted.

5 changes: 5 additions & 0 deletions .changeset/old-pears-fix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@khanacademy/wonder-blocks-dropdown": minor
---

Add `startIcon` prop to Combobox
76 changes: 76 additions & 0 deletions .github/workflows/node-ci-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# This reusable workflow is executed to run linting checks for the project
name: Run lint for the project

on:
workflow_call:

jobs:
lint:
name: Lint
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
node-version: [20.x]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

- name: Install & cache node_modules
uses: Khan/actions@shared-node-cache-v2
with:
node-version: ${{ matrix.node-version }}

- name: Get All Changed Files
uses: Khan/actions@get-changed-files-v2
id: changed

- id: js-ts-files
name: Find .js, .ts changed files
uses: Khan/actions@filter-files-v1
with:
changed-files: ${{ steps.changed.outputs.files }}
extensions: '.js,.jsx,.ts,.tsx'

- id: eslint-reset
uses: Khan/actions@filter-files-v1
name: Files that would trigger a full eslint run
with:
changed-files: ${{ steps.changed.outputs.files }}
files: '.eslintrc.js,yarn.lock,.eslintignore'

- id: typecheck-reset
uses: Khan/actions@filter-files-v1
name: Files that would trigger a typecheck run
with:
changed-files: ${{ steps.changed.outputs.files }}
files: '.yarn.lock'

# Linting / type checking
- name: Eslint
uses: Khan/actions@full-or-limited-v0
with:
full-trigger: ${{ steps.eslint-reset.outputs.filtered }}
full: yarn lint:ci .
limited-trigger: ${{ steps.js-ts-files.outputs.filtered }}
limited: yarn lint:ci {}

- name: Typecheck
if: always() # always run this check until we update the eslint config
# if: steps.js-ts-files.outputs.filtered != '[]' || steps.typecheck-reset.outputs.filtered != '[]'
run: yarn typecheck

- name: Build .js bundles
run: yarn build

- name: Build .d.ts types
run: yarn build:types

- name: Check package.json files
run: node utils/publish/pre-publish-check-ci.js
93 changes: 4 additions & 89 deletions .github/workflows/node-ci-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,99 +65,14 @@ jobs:
lint:
name: Lint
needs: prime_cache_primary
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
node-version: [20.x]
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

- name: Install & cache node_modules
uses: Khan/actions@shared-node-cache-v2
with:
node-version: ${{ matrix.node-version }}

- name: Get All Changed Files
uses: Khan/actions@get-changed-files-v2
id: changed

- id: js-ts-files
name: Find .js, .ts changed files
uses: Khan/actions@filter-files-v1
with:
changed-files: ${{ steps.changed.outputs.files }}
extensions: '.js,.jsx,.ts,.tsx'

- id: eslint-reset
uses: Khan/actions@filter-files-v1
name: Files that would trigger a full eslint run
with:
changed-files: ${{ steps.changed.outputs.files }}
files: '.eslintrc.js,yarn.lock,.eslintignore'

- id: typecheck-reset
uses: Khan/actions@filter-files-v1
name: Files that would trigger a typecheck run
with:
changed-files: ${{ steps.changed.outputs.files }}
files: '.yarn.lock'

# Linting / type checking
- name: Eslint
uses: Khan/actions@full-or-limited-v0
with:
full-trigger: ${{ steps.eslint-reset.outputs.filtered }}
full: yarn lint:ci .
limited-trigger: ${{ steps.js-ts-files.outputs.filtered }}
limited: yarn lint:ci {}

- name: Typecheck
if: always() # always run this check until we update the eslint config
# if: steps.js-ts-files.outputs.filtered != '[]' || steps.typecheck-reset.outputs.filtered != '[]'
run: yarn typecheck

- name: Build .js bundles
run: yarn build

- name: Build .d.ts types
run: yarn build:types

- name: Check package.json files
run: node utils/publish/pre-publish-check-ci.js
uses: ./.github/workflows/node-ci-lint.yml

test:
name: Test
needs: prime_cache_primary
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
node-version: [20.x]
shard: ["1/2", "2/2"]
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

- name: Install & cache node_modules
uses: Khan/actions@shared-node-cache-v2
with:
node-version: ${{ matrix.node-version }}
# Testing and coverage
- name: Run jest tests with coverage
run: yarn coverage:ci --shard ${{ matrix.shard }}
- name: Upload Coverage
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/coverage-final.json
uses: ./.github/workflows/node-ci-test.yml
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

check_builds:
name: Check build sizes
Expand Down
47 changes: 13 additions & 34 deletions .github/workflows/node-ci-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ on:
# 1. Prime caches for primary configuration (ubuntu on node 14).
# This way the next two jobs can run in parallel but rely on this primed
# cache.
# 2. Coverage
# 3. Chromatic autoApprove on squash commits
# 2. Lint
# 3. Test (with coverage)
# 4. Chromatic autoApprove on squash commits
#
# For pushes directly to a branch, we assume a PR has been used with wider
# checks, this just makes sure our coverage data is up-to-date.
Expand All @@ -35,36 +36,14 @@ jobs:
with:
node-version: ${{ matrix.node-version }}

lint:
name: Lint
needs: prime_cache_primary
uses: ./.github/workflows/node-ci-lint.yml

coverage:
needs: [prime_cache_primary]
name: Gather coverage
env:
CI: true
runs-on: ${{ matrix.os }}
strategy:
matrix:
# Use a matrix as it means we get the version info in the job name
# which is very helpful.
os: [ubuntu-latest]
node-version: [20.x]
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

# Cache and install dependencies
- name: Install & cache node_modules
uses: Khan/actions@shared-node-cache-v2
with:
node-version: ${{ matrix.node-version }}

- name: Run Jest with coverage
run: yarn coverage:ci
- name: Upload Coverage
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/coverage-final.json
test:
name: Test
needs: prime_cache_primary
uses: ./.github/workflows/node-ci-test.yml
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
37 changes: 37 additions & 0 deletions .github/workflows/node-ci-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# This reusable workflow is executed to run test checks for the project
name: Run tests for the project

on:
workflow_call:
secrets:
CODECOV_TOKEN:
required: true

jobs:
test:
name: Test
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
node-version: [20.x]
shard: ["1/2", "2/2"]
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

- name: Install & cache node_modules
uses: Khan/actions@shared-node-cache-v2
with:
node-version: ${{ matrix.node-version }}
# Testing and coverage
- name: Run jest tests with coverage
run: yarn coverage:ci --shard ${{ matrix.shard }}
- name: Upload Coverage
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/coverage-final.json
6 changes: 6 additions & 0 deletions __docs__/_gallery_.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import {Meta} from "@storybook/blocks";
import ComponentGallery from "./components/gallery/component-gallery";

<Meta title="Gallery" />
## Component Gallery
<ComponentGallery />
Loading

0 comments on commit 154ff2f

Please sign in to comment.