Skip to content

Commit 22ce6ec

Browse files
committed
Merge origin/main
2 parents b0efa72 + 629a9fa commit 22ce6ec

File tree

787 files changed

+32150
-26393
lines changed

Some content is hidden

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

787 files changed

+32150
-26393
lines changed

.github/workflows/push.yml

Lines changed: 81 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
skip_jobs: ${{ steps.check_message.outputs.skip_jobs }}
1919
steps:
2020
- name: Checkout code
21-
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
21+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
2222
with:
2323
fetch-depth: 1
2424
- name: Check commit message
@@ -35,51 +35,27 @@ jobs:
3535
echo "Running regular push jobs"
3636
fi
3737
38-
# Conditionally run the buildwebsite job
39-
buildwebsite:
40-
name: Build website
38+
main:
39+
name: Build, deploy, lint, typecheck, and test
4140
needs: check_commit_message
4241
if: needs.check_commit_message.outputs.skip_jobs != 'true'
4342
runs-on: ubuntu-latest
4443
steps:
45-
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
46-
with:
47-
persist-credentials: false
48-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
49-
with:
50-
node-version: '22'
51-
cache: 'yarn'
52-
cache-dependency-path: 'website/yarn.lock'
53-
- name: Install dependencies
54-
run: yarn install --frozen-lockfile
55-
working-directory: website
56-
- name: Build website
44+
- name: Install system dependencies
5745
run: |
58-
cd website/
59-
yarn build
60-
mkdir testing
61-
mv build testing/jb2
62-
- name: Check website links
63-
uses: untitaker/hyperlink@fb5bb9c5011a3d143a54b4b30aedc30ec5bc0f89 # 0.2.0
64-
with:
65-
args: website/testing/ --check-anchors
66-
67-
# Conditionally run the buildjbrowseweb job
68-
buildjbrowseweb:
69-
name: Deploy jbrowse-web and storybooks to S3
70-
needs: check_commit_message
71-
if: needs.check_commit_message.outputs.skip_jobs != 'true'
72-
runs-on: ubuntu-latest
73-
steps:
74-
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
46+
sudo apt-get update
47+
sudo apt-get -y install tabix libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
48+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
7549
with:
7650
persist-credentials: false
77-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
51+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
7852
with:
7953
node-version: '22'
8054
cache: 'yarn'
8155
- name: Install dependencies
8256
run: yarn install --frozen-lockfile
57+
58+
# Deploy jbrowse-web first
8359
- name: Validate branch/tag name for S3 path safety
8460
env:
8561
REF_NAME: ${{ github.ref_name }}
@@ -106,57 +82,7 @@ jobs:
10682
aws s3 sync --delete --exclude="*.map" build s3://jbrowse.org/code/jb2/${{ github.ref_name }}
10783
aws cloudfront create-invalidation --distribution-id E13LGELJOT4GQO --paths "/code/jb2/${{ github.ref_name }}/*"
10884
109-
- name: Build LGV storybook
110-
run: yarn storybook:build
111-
working-directory: products/jbrowse-react-linear-genome-view
112-
113-
- name: Deploy LGV storybook
114-
if: startsWith(github.ref, 'refs/tags/')
115-
run: |
116-
aws s3 sync --delete storybook-static s3://jbrowse.org/storybook/lgv/${{ github.ref_name }}
117-
aws cloudfront create-invalidation --distribution-id E13LGELJOT4GQO --paths "/storybook/lgv/${{ github.ref_name }}/*"
118-
working-directory: products/jbrowse-react-linear-genome-view
119-
120-
- name: Build React App storybook
121-
run: yarn storybook:build
122-
working-directory: products/jbrowse-react-app
123-
124-
- name: Deploy React App storybook
125-
if: startsWith(github.ref, 'refs/tags/')
126-
run: |
127-
aws s3 sync --delete storybook-static s3://jbrowse.org/storybook/app/${{ github.ref_name }}
128-
aws cloudfront create-invalidation --distribution-id E13LGELJOT4GQO --paths "/storybook/app/${{ github.ref_name }}/*"
129-
working-directory: products/jbrowse-react-app
130-
131-
- name: Build CGV storybook
132-
run: yarn storybook:build
133-
working-directory: products/jbrowse-react-circular-genome-view
134-
135-
- name: Deploy CGV storybook
136-
if: startsWith(github.ref, 'refs/tags/')
137-
run: |
138-
aws s3 sync --delete storybook-static s3://jbrowse.org/storybook/cgv/${{ github.ref_name }}
139-
aws cloudfront create-invalidation --distribution-id E13LGELJOT4GQO --paths "/storybook/cgv/${{ github.ref_name }}/*"
140-
working-directory: products/jbrowse-react-circular-genome-view
141-
142-
# Conditionally run the main job
143-
main:
144-
name: Lint, typecheck, test, and build
145-
needs: check_commit_message
146-
if: needs.check_commit_message.outputs.skip_jobs != 'true'
147-
runs-on: ubuntu-latest
148-
steps:
149-
- name: Install tabix
150-
run: sudo apt-get -y install tabix
151-
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
152-
with:
153-
persist-credentials: false
154-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
155-
with:
156-
node-version: '22'
157-
cache: 'yarn'
158-
- name: Install dependencies
159-
run: yarn install --frozen-lockfile
85+
# Lint, typecheck, test
16086
- name: Check code formatting
16187
run: yarn prettier --check .
16288
- name: Spellcheck
@@ -173,15 +99,11 @@ jobs:
17399
run: BUILT_TESTS=1 yarn built-test-ci
174100
- name: Run browser tests with Puppeteer
175101
id: browser-tests
176-
run: yarn install --frozen-lockfile && yarn test
177-
working-directory: products/jbrowse-web/browser-tests
102+
run: node --experimental-strip-types browser-tests/runner.ts
103+
working-directory: products/jbrowse-web
178104
continue-on-error: true
179105
- name: Upload snapshot diffs to S3
180106
if: steps.browser-tests.outcome == 'failure'
181-
env:
182-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
183-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
184-
AWS_DEFAULT_REGION: us-east-1
185107
run: |
186108
SNAPSHOTS_DIR="products/jbrowse-web/browser-tests/__snapshots__"
187109
S3_PATH="s3://jbrowse.org/demos/imagediff/${{ github.run_id }}"
@@ -205,13 +127,77 @@ jobs:
205127
- name: Fail if browser tests failed
206128
if: steps.browser-tests.outcome == 'failure'
207129
run: exit 1
130+
131+
# Deploy storybooks
132+
- name: Build LGV storybook
133+
run: yarn storybook:build
134+
working-directory: products/jbrowse-react-linear-genome-view
135+
136+
- name: Deploy LGV storybook
137+
if: startsWith(github.ref, 'refs/tags/')
138+
run: |
139+
aws s3 sync --delete storybook-static s3://jbrowse.org/storybook/lgv/${{ github.ref_name }}
140+
aws cloudfront create-invalidation --distribution-id E13LGELJOT4GQO --paths "/storybook/lgv/${{ github.ref_name }}/*"
141+
working-directory: products/jbrowse-react-linear-genome-view
142+
143+
- name: Build React App storybook
144+
run: yarn storybook:build
145+
working-directory: products/jbrowse-react-app
146+
147+
- name: Deploy React App storybook
148+
if: startsWith(github.ref, 'refs/tags/')
149+
run: |
150+
aws s3 sync --delete storybook-static s3://jbrowse.org/storybook/app/${{ github.ref_name }}
151+
aws cloudfront create-invalidation --distribution-id E13LGELJOT4GQO --paths "/storybook/app/${{ github.ref_name }}/*"
152+
working-directory: products/jbrowse-react-app
153+
154+
- name: Build CGV storybook
155+
run: yarn storybook:build
156+
working-directory: products/jbrowse-react-circular-genome-view
157+
158+
- name: Deploy CGV storybook
159+
if: startsWith(github.ref, 'refs/tags/')
160+
run: |
161+
aws s3 sync --delete storybook-static s3://jbrowse.org/storybook/cgv/${{ github.ref_name }}
162+
aws cloudfront create-invalidation --distribution-id E13LGELJOT4GQO --paths "/storybook/cgv/${{ github.ref_name }}/*"
163+
working-directory: products/jbrowse-react-circular-genome-view
164+
208165
- name: Upload packed artifacts for component tests
209-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
166+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
210167
with:
211168
name: packed-artifacts
212169
path: component_tests/*/packed/
213170
retention-days: 1
214171

172+
# Conditionally run the buildwebsite job
173+
buildwebsite:
174+
name: Build website
175+
needs: check_commit_message
176+
if: needs.check_commit_message.outputs.skip_jobs != 'true'
177+
runs-on: ubuntu-latest
178+
steps:
179+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
180+
with:
181+
persist-credentials: false
182+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
183+
with:
184+
node-version: '22'
185+
cache: 'yarn'
186+
cache-dependency-path: 'website/yarn.lock'
187+
- name: Install dependencies
188+
run: yarn install --frozen-lockfile
189+
working-directory: website
190+
- name: Build website
191+
run: |
192+
cd website/
193+
yarn build
194+
mkdir testing
195+
mv build testing/jb2
196+
- name: Check website links
197+
uses: untitaker/hyperlink@fb5bb9c5011a3d143a54b4b30aedc30ec5bc0f89 # 0.2.0
198+
with:
199+
args: website/testing/ --check-anchors
200+
215201
# Separate job for component_tests with no permissions.
216202
# These tests install npm packages without a yarn.lock, so untrusted
217203
# dependencies could potentially run malicious code. By isolating this
@@ -225,14 +211,14 @@ jobs:
225211
runs-on: ubuntu-latest
226212
permissions: {}
227213
steps:
228-
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
214+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
229215
with:
230216
persist-credentials: false
231-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
217+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
232218
with:
233219
node-version: '22'
234220
- name: Download packed artifacts
235-
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
221+
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
236222
with:
237223
name: packed-artifacts
238224
path: component_tests/

.github/workflows/release.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ jobs:
1414
permissions:
1515
contents: write
1616
steps:
17-
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
17+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
1818
with:
1919
persist-credentials: false
20-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
20+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
2121
with:
2222
node-version: '22'
2323
cache: 'yarn'
@@ -47,13 +47,13 @@ jobs:
4747
container:
4848
image: docker://node:22-bullseye
4949
steps:
50-
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
50+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
5151
with:
5252
persist-credentials: false
5353
- name: Install dependencies
5454
run: yarn install --frozen-lockfile
5555
- name: Setup java
56-
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
56+
uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5.1.0
5757
with:
5858
# eclipse 'temurin' openjdk https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Selecting-a-Java-distribution
5959
distribution: 'temurin'
@@ -95,11 +95,11 @@ jobs:
9595
name: Build Mac desktop app
9696
runs-on: macos-latest
9797
steps:
98-
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
98+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
9999
with:
100100
persist-credentials: false
101101

102-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
102+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
103103
with:
104104
node-version: '22'
105105
cache: 'yarn'
@@ -123,11 +123,11 @@ jobs:
123123
name: Build Linux desktop app
124124
runs-on: ubuntu-latest
125125
steps:
126-
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
126+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
127127
with:
128128
persist-credentials: false
129129

130-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
130+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
131131
with:
132132
node-version: '22'
133133
cache: 'yarn'
@@ -148,10 +148,10 @@ jobs:
148148
name: Deploy jbrowse-web and storybooks to latest folder on tag
149149
runs-on: ubuntu-latest
150150
steps:
151-
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
151+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
152152
with:
153153
persist-credentials: false
154-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
154+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
155155
with:
156156
node-version: '22'
157157
cache: 'yarn'

.github/workflows/update-docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ jobs:
1515
${{ contains(github.event.head_commit.message, 'update docs') ||
1616
contains(github.event.head_commit.message, '[update docs only]') }}
1717
steps:
18-
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
18+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
1919
with:
2020
persist-credentials: false
21-
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
21+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
2222
with:
2323
node-version: '22'
2424
cache: 'yarn'

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ lerna-debug.log
2121
*.tsbuildinfo
2222
.aider*
2323
*.cpuprofile
24+
test_data/soa4

.ignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,5 @@ test_data/config_demo.json
2323
docs/models/LinearGenomeView.md
2424
plugins/variants/src/d3-hierarchy2
2525
benchmarks
26+
products/jbrowse-web/src/tests/__file_snapshots__/save_track_data.sam
27+
products/jbrowse-web/src/tests/__file_snapshots__/save_track_data.cram.sam

component_tests/app-vite/browser-tests/runner.ts

Lines changed: 0 additions & 49 deletions
This file was deleted.

0 commit comments

Comments
 (0)