Skip to content

Commit f701640

Browse files
authored
Miscellaneous repo cleanup (#560)
- Move tests into new `lit-dev-tests` package because: - Seems a bit more logical. Everything else lives in a package. - It allows us to skip installing test-related dependencies on Docker build. - Re-organize GitHub action workflows. Most stuff was crammed into the one build action before. - Run `playground-plugin` unit tests in CI (under new `test:unit` grouping). - Combines golden screenshot generation + artifact upload into the main `integration-tests` action, but only run it if the tests fail. - Use playwright's built-in `webServer` feature instead of `run-p` to launch the server used for integration testing. - Simplify Prettier setup and check formatting in CI. - Rename `lit-dev-tools` to `lit-dev-tools-cjs` to distinguish it from `lit-dev-tools-esm`. - Only run the `manrope` font download step if it hasn't already run (it was needlessly running every time we installed anything or bootstrapped through lerna) - Factor out a common `tsconfig.base.json`. - Update dependencies.
1 parent 38a8a96 commit f701640

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+13223
-13495
lines changed

.dockerignore

+1
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ Dockerfile
44
npm-debug.log
55
**/tsconfig.tsbuildinfo
66
/packages/lit-dev-api/lit/
7+
/packages/lit-dev-tests/

.github/workflows/build.yml

-82
This file was deleted.

.github/workflows/check-format.yml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Check format
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
check-format:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v2
10+
- uses: actions/setup-node@v2
11+
with:
12+
node-version: 16
13+
# Don't cache because we don't bootstrap
14+
15+
- run: npm ci
16+
- run: npm run format:check
+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Check external links
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
check-links-external:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v2
10+
- uses: actions/setup-node@v2
11+
with:
12+
node-version: 16
13+
cache: npm
14+
cache-dependency-path: '**/package-lock.json'
15+
16+
- run: npm ci
17+
- run: npm run bootstrap
18+
- run: npm run build
19+
- run: npm run test:links:external
+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Check internal links
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
check-links-internal:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v2
10+
- uses: actions/setup-node@v2
11+
with:
12+
node-version: 16
13+
cache: npm
14+
cache-dependency-path: '**/package-lock.json'
15+
16+
- run: npm ci
17+
- run: npm run bootstrap
18+
- run: npm run build
19+
- run: npm run test:links:redirects
20+
- run: npm run test:links:internal

.github/workflows/generate-goldens.yml

-41
This file was deleted.
+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Integration tests
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
integration-tests:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v2
10+
- uses: actions/setup-node@v2
11+
with:
12+
node-version: 16
13+
cache: npm
14+
cache-dependency-path: '**/package-lock.json'
15+
16+
- run: npm ci
17+
- run: npx playwright install-deps
18+
- run: npm run bootstrap
19+
- run: npm run build
20+
21+
- id: test
22+
run: npm run test:integration
23+
24+
- if: ${{ always() && steps.test.outcome == 'failure' }}
25+
run: npm run test:integration:update-golden-screenshots
26+
27+
- if: ${{ always() && steps.test.outcome == 'failure' }}
28+
uses: actions/upload-artifact@v2
29+
with:
30+
name: golden-results
31+
path: tests/**/**.png

.github/workflows/unit-tests.yml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Unit tests
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
unit-tests:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v2
10+
- uses: actions/setup-node@v2
11+
with:
12+
node-version: 16
13+
cache: npm
14+
cache-dependency-path: '**/package-lock.json'
15+
16+
- run: npm ci
17+
- run: npm run bootstrap
18+
- run: npm run build
19+
- run: npm run test:unit

.gitignore

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ packages/lit-dev-api/api-data/**/*
1616
!packages/lit-dev-api/api-data/.gitkeep
1717

1818
# We only want to keep '-linux' screenshots which are tested by Github Actions.
19-
tests/**/*.png
20-
!tests/**/*-linux.png
19+
packages/lit-dev-tests/src/playwright/**/*.png
20+
!packages/lit-dev-tests/src/playwright/**/*-linux.png
2121
test-results
2222

2323
*.tsbuildinfo

.prettierignore

+7-1
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,11 @@ package-lock.json
33
/packages/lit-dev-content/site/
44
/packages/lit-dev-content/_site/
55
/packages/*/lib/
6-
/packages/*/index.*
76
/packages/lit-dev-server/src/redirects.ts
7+
/packages/lit-dev-api/
8+
/packages/lit-dev-content/_dev/
9+
/packages/lit-dev-content/_site/
10+
/packages/lit-dev-content/rollupout/
11+
# TODO(aomarks) Would be nice to format samples, but Prettier doesn't always do
12+
# a great job compared to our manual formatting.
13+
/packages/lit-dev-content/samples/

Dockerfile

+4-4
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,19 @@ WORKDIR /usr/src/app
2121
# to execute the final Eleventy build step.
2222

2323
# External dependencies
24-
COPY package*.json lerna.json ./
25-
COPY packages/lit-dev-tools/package*.json ./packages/lit-dev-tools/
24+
COPY package*.json lerna.json tsconfig.base.json ./
25+
COPY packages/lit-dev-tools-cjs/package*.json ./packages/lit-dev-tools-cjs/
2626
COPY packages/lit-dev-tools-esm/package*.json ./packages/lit-dev-tools-esm/
2727
COPY packages/lit-dev-server/package*.json ./packages/lit-dev-server/
2828
COPY packages/lit-dev-api/package*.json ./packages/lit-dev-api/
2929
COPY packages/lit-dev-content/package*.json ./packages/lit-dev-content/
3030
RUN npm ci && npm run bootstrap
3131

3232
# Tooling code
33-
COPY packages/lit-dev-tools/ ./packages/lit-dev-tools/
33+
COPY packages/lit-dev-tools-cjs/ ./packages/lit-dev-tools-cjs/
3434
COPY packages/lit-dev-tools-esm/ ./packages/lit-dev-tools-esm/
3535
COPY packages/lit-dev-server/ ./packages/lit-dev-server/
36-
RUN npx lerna run build:ts --scope lit-dev-tools --scope lit-dev-tools-esm --scope lit-dev-server --stream
36+
RUN npx lerna run build:ts --scope lit-dev-tools-cjs --scope lit-dev-tools-esm --scope lit-dev-server --stream
3737

3838
# Generated API docs
3939
COPY packages/lit-dev-api/ ./packages/lit-dev-api/

lit-dev.code-workspace

+37-31
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,39 @@
11
{
2-
"folders": [
3-
{
4-
"name": "lit-dev-content",
5-
"path": "packages/lit-dev-content",
6-
},
7-
{
8-
"name": "lit-dev-tools",
9-
"path": "packages/lit-dev-tools",
10-
},
11-
{
12-
"name": "lit-dev-api",
13-
"path": "packages/lit-dev-api",
14-
},
15-
{
16-
"name": "lit-dev-server",
17-
"path": "packages/lit-dev-server",
18-
},
19-
{
20-
"name": "lit.dev",
21-
"path": "."
22-
}
23-
],
24-
"settings": {
25-
"files.insertFinalNewline": true,
26-
"files.trimTrailingWhitespace": true,
27-
},
28-
"extensions": {
29-
"recommendations": [
30-
"esbenp.prettier-vscode",
31-
]
32-
}
2+
"folders": [
3+
{
4+
"name": "lit-dev-content",
5+
"path": "packages/lit-dev-content"
6+
},
7+
{
8+
"name": "lit-dev-tools-cjs",
9+
"path": "packages/lit-dev-tools-cjs"
10+
},
11+
{
12+
"name": "lit-dev-tools-esm",
13+
"path": "packages/lit-dev-tools-esm"
14+
},
15+
{
16+
"name": "lit-dev-tests",
17+
"path": "packages/lit-dev-tests"
18+
},
19+
{
20+
"name": "lit-dev-api",
21+
"path": "packages/lit-dev-api"
22+
},
23+
{
24+
"name": "lit-dev-server",
25+
"path": "packages/lit-dev-server"
26+
},
27+
{
28+
"name": "lit.dev",
29+
"path": "."
30+
}
31+
],
32+
"settings": {
33+
"files.insertFinalNewline": true,
34+
"files.trimTrailingWhitespace": true
35+
},
36+
"extensions": {
37+
"recommendations": ["esbenp.prettier-vscode"]
38+
}
3339
}

0 commit comments

Comments
 (0)