Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update VSCode webview proxy #2685

Draft
wants to merge 832 commits into
base: vscode-webview-proxy
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
832 commits
Select commit Hold shift + click to select a range
d778218
whitespace
fonsp Jan 23, 2023
c0bea12
Update JuliaMono to 0.047
fonsp Jan 23, 2023
2ea897f
CompilerOptions: add compiled_modules, sysimage_native_code, depwarn,…
fonsp Jan 23, 2023
7322a2d
minor contrast improvements
fonsp Jan 23, 2023
ec89d64
minor contrast improvements
fonsp Jan 23, 2023
c943e9f
CompilerOptions: add pkgimages (Julia 1.9) (#2456)
fonsp Jan 24, 2023
17da71b
Don't cleanup variables not defined in Pluto workspaces. (#2459)
Pangoraw Jan 25, 2023
469b82b
Fix Cmd+Click behaviour on local variables
fonsp Jan 26, 2023
cffd65a
Update Project.toml
fonsp Jan 27, 2023
ee20b89
🙊 Fix hidden Edit or Run button
fonsp Jan 27, 2023
75c8de0
AbstractPlutoDingetjes.transform_value: better error message
fonsp Jan 30, 2023
8d82515
Change "Static PDF" export title to just "PDF" (#2469)
tecosaur Feb 7, 2023
994ba02
update link to plutojl.org
fonsp Feb 7, 2023
84ec047
Fix #2474 (#2481)
Vikrantpalle Feb 20, 2023
91b0e92
Update skipped/disabled cell dependency before saving notebook (#2239)
disberd Feb 20, 2023
d7abb4e
Update README.md
fonsp Feb 28, 2023
776cbf7
Unregister Bonds at the start of the reactive run. (#2467)
Pangoraw Feb 28, 2023
a8ae9cb
Add latex reverse search in docs (#2476)
Pangoraw Mar 8, 2023
1e6a2de
Logging: move `maxlog` handling to PlutoRunner (#2493)
Pangoraw Mar 8, 2023
18a6a0f
future julia compat for Core.BuiltinInts
fonsp Mar 9, 2023
6950747
Show Pkg logs in Process Status tab (#2498)
fonsp Mar 11, 2023
de6a312
🐞 Fix #2494
fonsp Mar 11, 2023
5513ec8
A few random cleanups (#2496)
sjkelly Mar 13, 2023
9194c52
Fix #2503
fonsp Mar 13, 2023
24b28b7
nbpkg: minor tweaks
fonsp Mar 13, 2023
ab0a2ff
Capture and display Pkg logs in the notebook (#2507)
fonsp Mar 14, 2023
78f7d98
Instantiate after update (#2505)
fonsp Mar 14, 2023
f3d8946
Instantiate after auto fixed resolve (#2504)
fonsp Mar 14, 2023
2b265ca
whitespace
fonsp Mar 30, 2023
2bf4068
Restyle frontmatter dialog to match rest of pluto (#2470)
tecosaur Apr 5, 2023
4bde084
Improve print view styling (#2468)
tecosaur Apr 5, 2023
790ca6d
Hide server start and stop logs from HTTP.jl (#2516)
fonsp Apr 5, 2023
1737e0d
🦆 Fix #2416 maybe by avoiding race condition (#2501)
fonsp Apr 5, 2023
4d3b0ed
Update Project.toml
fonsp Apr 5, 2023
c51ce80
chore: bump preact version and pin esm.sh to v113 (#2514)
pankgeorg Apr 5, 2023
2a8be39
Update featured_sources.js
fonsp Apr 5, 2023
62c7fb0
tweak release notes template
fonsp Apr 6, 2023
f11d6e0
Status tab: tweak initial planned state
fonsp Apr 7, 2023
8d63bde
Fix more esm.sh build version pins
fonsp Apr 9, 2023
7a0d441
Handle more complex struct constructors (#2525)
Pangoraw Apr 10, 2023
90d1866
Running an HTML export: Clear the Status of the process that generate…
fonsp Apr 10, 2023
5a30990
Add binder progress and logs to status tab (#2523)
fonsp Apr 10, 2023
78f7a4f
🥦 Fix #2454
fonsp Apr 10, 2023
914cd2d
Export file: asdf.html instead of asdf.jl.html
fonsp Apr 10, 2023
5b4af91
Update Project.toml
fonsp Apr 10, 2023
e6a028f
frontend test stability
fonsp Apr 10, 2023
4a7b019
🐰 Fix #2527 (#2528)
fonsp Apr 11, 2023
7506551
Julia 1.9: Ensure that precompile caches match by running `Pkg.precom…
fonsp Apr 11, 2023
85f3765
simulated_lag: also for outgoing WS messages
fonsp Apr 11, 2023
7626482
fix windows julia 1.9.0 test maybe
fonsp Apr 11, 2023
c9ac544
🎡 Fancyprint Pkg logs (#2500)
fonsp Apr 11, 2023
57a50d2
🔔 Notify when all cells completed (#2531)
fonsp Apr 18, 2023
f1e8931
Update Project.toml
fonsp Apr 18, 2023
b72ae9b
Switch to `PrecompileTools.jl` (#2534)
rikhuijzer Apr 25, 2023
e7d5d2c
Upgrade codemirror to 26 April 2023 (#2540)
fonsp Apr 26, 2023
e7d519d
FunctionNameSignaturePair: store hash of canonalized head (#2539)
fonsp Apr 26, 2023
d5c20bf
Fix autocomplete on binder and featured notebooks (#2544)
fonsp Apr 26, 2023
3c1371f
Support binder when serving HTML export from localhost
fonsp Apr 26, 2023
e7a7467
CSS tweaks
fonsp Apr 26, 2023
90cf1be
Change 🔺🔴🟥 button to share icon (#2545)
fonsp Apr 26, 2023
a30c0f3
Fix "0 cells deleted" in static HTML
fonsp May 2, 2023
36d1ca1
Revert "Upgrade codemirror to 26 April 2023 (#2540)"
fonsp May 3, 2023
6fb1870
Update Dynamic.jl
fonsp May 15, 2023
e23ca94
JS base64: 20% performance increase (#2561)
fonsp May 15, 2023
d31d7a4
Test Julia 1.9.0
fonsp May 15, 2023
8edd75b
add `pretty_stackcall(::Base.StackFrame, ::Module and ::Method)` for …
pankgeorg May 15, 2023
4bc50bd
css tweak
fonsp May 15, 2023
e2e0006
minor refactor to use http middleware and improve docs
fonsp May 17, 2023
725fe51
fix: ensure recent browser without eval (#2566)
pankgeorg May 17, 2023
f691a90
Update Project.toml
fonsp May 17, 2023
a23d477
ci tweaks
fonsp May 17, 2023
20515dd
Fix #2567
fonsp May 23, 2023
4d9596b
Page parameter `pluto_server_url` overrides default WebSocket address…
ctrekker May 24, 2023
9d7e050
css tweak
fonsp Jun 5, 2023
2808270
Pin typescript to 5.0.4 in workflow (#2590)
Pangoraw Jun 27, 2023
1e3ee42
fix: cryptic error on some sysimage builds on Julia 1.8.5 (#2600)
pankgeorg Jul 12, 2023
fe236a0
Update Project.toml (#2603)
pankgeorg Jul 12, 2023
a5c3227
🚦Slider server running status (#2601)
ctrekker Jul 16, 2023
f76efd4
ExEx: Track function calls in assignment lhs. (#2604)
Pangoraw Jul 16, 2023
c569adf
💁📩 Support publish_to_js inside logs (#2607)
fonsp Jul 17, 2023
3958cf5
Fix #2398
fonsp Jul 17, 2023
2cc4e44
css tweak
fonsp Jul 17, 2023
7f1f27e
Experimental JS API for getting/setting cell metadata (#2612)
fonsp Jul 17, 2023
c80464d
Experimental JS API for getting/setting cell metadata (#2612)
fonsp Jul 17, 2023
0071ec1
popup: warn type
fonsp Jul 17, 2023
9c052d3
🐝 Fix #2518
fonsp Jul 17, 2023
48337a5
frontmatter editor: remove autocapitalizationr
fonsp Jul 20, 2023
5dc359d
Bump word-wrap from 1.2.3 to 1.2.4 in /frontend-bundler (#2617)
dependabot[bot] Jul 20, 2023
5654113
Bump terser from 5.9.0 to 5.14.2 in /frontend-bundler (#2220)
dependabot[bot] Jul 20, 2023
ff88e45
Update the folded state when reloading from file (#2602)
Pangoraw Jul 20, 2023
532587d
Bump word-wrap from 1.2.3 to 1.2.4 in /test/frontend (#2616)
dependabot[bot] Jul 20, 2023
c8f80f4
Bump semver from 5.7.1 to 5.7.2 in /frontend-bundler (#2599)
dependabot[bot] Jul 20, 2023
c5dbeb1
Bump tough-cookie from 4.0.0 to 4.1.3 in /test/frontend (#2597)
dependabot[bot] Jul 20, 2023
1d2c303
Make `published_to_js` (now `publish_to_js`) official API through Abs…
disberd Jul 20, 2023
f297b12
Test Julia 1.10 (#2626)
Pangoraw Aug 13, 2023
bfd7830
integrate JuliaSyntax.jl (#2526)
Pangoraw Aug 24, 2023
83ec7c5
switch any-point:coarse to pointer:coarse (#2631)
disberd Aug 24, 2023
137420c
fix EmbeddableDisplay (#2632)
jbrea Aug 27, 2023
fb1f1a5
Limit prefix length (#2636)
Pangoraw Aug 29, 2023
17d105b
change selector so that CSS applies correctly (#2637)
vladflore Sep 3, 2023
5b96b85
Warn when including PasswordField content in an html export
fonsp Sep 6, 2023
394be90
fix test version check from #2626
fonsp Sep 12, 2023
72a5847
fix juliasyntax test
fonsp Sep 12, 2023
e1bd21c
Cleanup notebook config code and remove janky test
fonsp Sep 12, 2023
02793cc
update fallback stdlibs list
fonsp Sep 12, 2023
b3205cb
40 -> 50 minute timeout for backend tests
fonsp Sep 13, 2023
b8d8af7
Test Julia 1.10 beta instead of nightly, drop 1.7 tests (#2644)
fonsp Sep 13, 2023
bd6703e
Non-blocking API Pluto.run! that returns a reference to the running s…
fonsp Sep 13, 2023
93cbf26
FrontendTest.yml: show logs from Pluto server (#2645)
fonsp Sep 13, 2023
ba73086
CSS: make export small buttons floating
fonsp Sep 13, 2023
a86709b
Fix typo in docstring (#2648)
LilithHafner Sep 15, 2023
ea89479
add keyboard shortcuts (LeftArrow and RightArrow) to move slides in p…
disberd Sep 16, 2023
89037c8
Display banner from Pluto.__init__, not during precompile (#2628)
mgkuhn Sep 18, 2023
06589c7
minor TS type fixes
fonsp Sep 18, 2023
690b401
Frontmatter GUI: multiple authors (#2650)
fonsp Sep 18, 2023
03bbc9a
Slider server stuck loading on staterequest failure (#2649)
ctrekker Sep 18, 2023
a7a424c
Replace Distributed with Malt soon! (#2240)
savq Sep 18, 2023
62f7898
🦧 Fix #2548
fonsp Sep 18, 2023
cc706f5
Added keyboard shortcut display in tooltips (#2638)
JuliaLoetfering Sep 18, 2023
a7908dd
Malt tweaks
fonsp Sep 18, 2023
a3ffc09
Accessibility and style tweaks
fonsp Sep 19, 2023
cef414d
css tweaks
fonsp Sep 19, 2023
dd9a837
popup: big option
fonsp Sep 19, 2023
bae7d1c
tiny type fix
fonsp Sep 19, 2023
681981e
css tweaks
fonsp Sep 19, 2023
dd40a40
Merge branch 'main' of https://github.com/fonsp/Pluto.jl
fonsp Sep 19, 2023
27b23a4
Show errored, folded code with less opacity
fonsp Sep 19, 2023
871517c
Linebreaks with small spacing in Firefox (#2605)
dorn-gerhard Sep 19, 2023
50b2dc5
workspace_custom_startup_expr as String (#2654)
fonsp Sep 20, 2023
3ee1275
release 0.19.28
fonsp Sep 21, 2023
91c1695
Support interrupt on Windows soon! (#2659)
fonsp Sep 27, 2023
fe491d9
Update Project.toml
fonsp Sep 27, 2023
82185cf
Update Julia Computing to JuliaHub in sponsors list
fonsp Sep 27, 2023
049ff09
readme: update juliahub sponsor
fonsp Sep 27, 2023
3f108c0
Button to toggle presentation mode in export menu (#2660)
fonsp Oct 2, 2023
3b37549
Featured sources: valid_until and id attribute
fonsp Oct 2, 2023
a44ccc5
Filter on exported symbols in 1.11 (#2661)
Pangoraw Oct 7, 2023
ebebf3c
Improve frontend test stability (#2671)
fonsp Oct 21, 2023
dd1f750
more frontend test stability
fonsp Oct 21, 2023
88408eb
Render cells as queued when restarting process
fonsp Oct 21, 2023
c22cbb9
more frontend test improvements
fonsp Oct 22, 2023
4118584
fixiefix
fonsp Oct 22, 2023
a7c7fde
more frontend test stability
fonsp Oct 22, 2023
89a078d
Also enable set_waiting_to_run_smart for Ctrl+S
fonsp Oct 22, 2023
5df9cc5
👀 Open notebooks without running (#2563)
fonsp Oct 22, 2023
fb7ca86
⏱️ Estimate for package install and load time (#2672)
fonsp Oct 22, 2023
cb21fa9
Update Project.toml
fonsp Oct 22, 2023
bc4726f
frontend test stability
fonsp Oct 22, 2023
487755a
frontend tests: increase default timeout for loading notebooks
fonsp Oct 22, 2023
a5feb55
Update codemirror and support try-catch-else (#2673)
Pangoraw Oct 23, 2023
eaba2bf
More security tests for the secret cookie
fonsp Oct 27, 2023
f188495
Downloads.download deprecated
fonsp Oct 27, 2023
3e46cc1
featured URL tweak
fonsp Oct 27, 2023
292c881
More security tests
fonsp Oct 27, 2023
e97616f
Fix #2675
fonsp Oct 27, 2023
effe84d
Swap "Restart notebook" and "Share" buttons in top nav
fonsp Oct 27, 2023
925f243
Use <dialog> for binder EditOrRun modal (#2681)
fonsp Oct 27, 2023
1e981cb
Bump browserify-sign from 4.2.1 to 4.2.2 in /frontend-bundler (#2682)
dependabot[bot] Oct 30, 2023
a07774c
Bump @babel/traverse from 7.15.4 to 7.23.2 in /frontend-bundler (#2664)
dependabot[bot] Oct 30, 2023
ebc3631
Bump @babel/traverse from 7.17.12 to 7.23.2 in /test/frontend (#2665)
dependabot[bot] Oct 30, 2023
a1f17ae
css tweak
fonsp Oct 30, 2023
c698e1c
HTML cell output: respect integrity attribute for script elements loa…
fonsp Oct 30, 2023
42c5258
HTML cell output: respect all atributed of script element
fonsp Oct 30, 2023
3b3d56c
Show error message when statefile fails to load (#2686)
fonsp Oct 30, 2023
74b497a
Support slider_server_url in pluto_export.json (#2667)
fonsp Oct 30, 2023
01dcdbb
CompatHelper: add new compat entry for TOML at version 1, (keep exist…
github-actions[bot] Oct 30, 2023
d1ebead
CompatHelper: add new compat entry for Downloads at version 1, (keep …
github-actions[bot] Oct 30, 2023
abba9f0
fix dialog bug
fonsp Oct 30, 2023
52e471d
📰 Preview in frontmatter editor (#2688)
fonsp Oct 30, 2023
6920af6
Merge branch 'main' of https://github.com/fonsp/Pluto.jl
fonsp Oct 30, 2023
62feafb
frontmatter preview tweak
fonsp Oct 30, 2023
a64ddd2
Project.toml: compat entries for stdlibs (#2687)
fonsp Oct 30, 2023
3b699e0
Fix safe preview in ExperimentalLayout and embed_display (#2689)
fonsp Oct 30, 2023
f4eefec
Use featured.plutojl.org as the featured source for interactive previ…
fonsp Oct 30, 2023
32ca16f
New Markdown offline sample (#2690)
fonsp Oct 30, 2023
6a33102
Fix: Don't drop disabled cells (#2677)
Pangoraw Oct 30, 2023
557263d
Update Project.toml
fonsp Oct 30, 2023
4a8e79a
add comment about losing cells in save_notebook (#2692)
Pangoraw Oct 30, 2023
bb5c142
Fix embed_display again: handle attributes as string values properly …
fonsp Oct 31, 2023
abe220b
Enable Malt on Windows by default (#2695)
fonsp Oct 31, 2023
513f28d
future proof tweak
fonsp Oct 31, 2023
620176a
Don't rerender cell output when only `persist_js_state` changed (#2697)
fonsp Oct 31, 2023
82f14de
Update Project.toml
fonsp Oct 31, 2023
66a36d5
Merge remote-tracking branch 'upstream/main' into vscode-webview-proxy
sebibek Nov 4, 2023
84b08cb
augment PutUpdates
sebibek Nov 4, 2023
7903b6c
fix default_path/Bundle-Web-Assets
sebibek Nov 4, 2023
794a5f4
error log tweak
fonsp Nov 5, 2023
4da72bc
not override send_notebook_changes
sebibek Nov 5, 2023
3f68e7f
PlutoConnection
sebibek Nov 12, 2023
1903e38
rm old welcome files
sebibek Nov 12, 2023
417b905
📰 Simpler PDF title, fix #2703
fonsp Nov 14, 2023
4726a20
Update README.md
fonsp Nov 14, 2023
912f31f
Fix #2693 and sanitization in Live Docs (#2709)
fonsp Nov 14, 2023
1ee8d5b
Match `module` with `end` in block matcher plugin (#2712)
Pangoraw Nov 14, 2023
a45427c
Turn ExpressionExplorer.jl into its own package (#2698)
fonsp Nov 16, 2023
1d0285b
refactor macro_has_special_heuristic_inside
fonsp Nov 16, 2023
20ed9da
remove FunctionDependencies because it is now in ExpressionExplorer
fonsp Nov 16, 2023
6224601
Use `isglobal` for usings (#2711)
Pangoraw Nov 20, 2023
6c72853
whitespace
fonsp Nov 21, 2023
4bf9d60
Multiple authors in feature card (#2723)
lukavdplas Nov 21, 2023
e10f31b
Fix #2729
fonsp Nov 27, 2023
3ed303e
css tweak
fonsp Nov 29, 2023
c840eaa
Update Project.toml
fonsp Dec 2, 2023
b15d420
No IOContext for `stdout` and `stderr` globals (#2727)
fonsp Dec 2, 2023
d686e47
colour const assignee (#2733)
Pangoraw Dec 2, 2023
66dca1a
add error handling
sebibek Dec 2, 2023
5a41179
Import PlutoRunner as module in Loader.jl (#1881)
dralletje Dec 4, 2023
a4de685
suppress output of xdg-open (#2736)
Pangoraw Dec 6, 2023
b6998a3
🖨️ Some PDF layout improvements (#2738)
fonsp Dec 6, 2023
7d3fd23
Fix #2728
fonsp Dec 6, 2023
c65ec36
Bump version (#2741)
Pangoraw Dec 7, 2023
7a759e1
hard reset frontend (excepting vscode related changes)
sebibek Dec 9, 2023
9bfa489
Merge remote-tracking branch 'upstream/main' into vscode-webview-proxy
sebibek Dec 9, 2023
f399643
working state, few tests are still failing
sebibek Dec 10, 2023
76c0d6d
use buffer directly
sebibek Dec 10, 2023
4869831
carefully restore
sebibek Dec 10, 2023
d834f59
Fix invisible button issues on touch displays (#2745)
fonsp Dec 11, 2023
8d98cee
Some tab indexing improvements (#2744)
fonsp Dec 11, 2023
39bfaf1
Show help when stuck in tab index trap (#2746)
fonsp Dec 12, 2023
58c299c
skkrttt!
fonsp Dec 12, 2023
3ba1ffa
fix tab help message for new cells
fonsp Dec 12, 2023
7f8ddf5
little cleanup: useEventListener hook (#2749)
fonsp Dec 12, 2023
0cd52bb
typo
fonsp Dec 12, 2023
461f398
Use <dialog> for the export menu for better keyboard accessibility (#…
fonsp Dec 13, 2023
c999c73
preserve original LOAD_PATH (#2748)
Pangoraw Dec 13, 2023
f7e40ab
Update Project.toml
fonsp Dec 13, 2023
65f1a45
fix CM issue in tab help plugin
fonsp Dec 13, 2023
1d6b4da
Revert "fix CM issue in tab help plugin"
fonsp Dec 13, 2023
bef8a02
fix CM issue in tab help plugin in another way
fonsp Dec 13, 2023
b7163e5
whitespace
fonsp Dec 13, 2023
fe10e2d
Make the pkg popup tab-friendly (#2752)
fonsp Dec 14, 2023
1b83614
tweak F1 help
fonsp Dec 14, 2023
4a16a52
Fix #2754
fonsp Dec 14, 2023
9a9eb9e
Tab focus tweak
fonsp Dec 14, 2023
18291b1
printing layout: only treat hr as page break if it is top-level
fonsp Dec 14, 2023
f6e8407
featured card CSS tweaks
fonsp Dec 14, 2023
05131df
Make global progress bar hidden from screen readers (#2758)
fonsp Dec 18, 2023
ecd34c7
Make Pkg update button clickable when the notebook crashed
fonsp Dec 18, 2023
9f287b4
⌨️ Keyboard shortcut Alt-Arrow to move cells (#2760)
fonsp Dec 18, 2023
cb9f2b5
Make cell context menu tab-friendly (#2759)
fonsp Dec 19, 2023
68f790f
Pluto version in statefile
fonsp Jan 3, 2024
f7b790a
Upgrade CI to Julia 1.10
fonsp Jan 3, 2024
a6a285e
Update featured_sources.js
fonsp Jan 3, 2024
be464bc
Misc ARIA improvements (#2766)
fonsp Jan 3, 2024
9ade734
CI: nightly instead of julia 1.11
fonsp Jan 3, 2024
2e2b5d1
stats: record static view pluto version and which featured notebook i…
fonsp Jan 3, 2024
da4d1b6
Bump msgpackr from 1.5.7 to 1.10.1 in /frontend-bundler (#2763)
dependabot[bot] Jan 3, 2024
be51e4b
🗣️ Screen reader support for reactive output changes (#2757)
fonsp Jan 3, 2024
3b114d0
Merge remote-tracking branch 'upstream/main' into vscode-webview-proxy
sebibek Jan 13, 2024
bf35888
try to bypass the issue
sebibek Jan 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
open_collective: julialang
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@ assignees: ''

Thank you for reporting an issue about Pluto! Let's get it fixed!

# To report an issue, you need two things:
# To report an issue, you need three things:
1. 📹 A video recording demonstrating the problem. (You can drag a video file into this box)
2. 📝 A short Pluto notebook file. (Upload the notebook file to https://gist.github.com/ and include the link.)
3. 🤕 Try to clearly explain what the problem is, it might not be obvious to others! Instead of saying: "This does not work.", try to say: "I expected ..., but instead I am seeing ..."


🙋 But my issue is really simple, I don't want to make a screen recording / notebook!
Expand Down
41 changes: 35 additions & 6 deletions .github/workflows/Bundle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,45 +5,74 @@ on:
branches:
- main
workflow_dispatch:
pull_request:
paths-ignore:
- "**.md"
- "**.jl"
branches-ignore:
- release

concurrency:
group: bundle-${{ github.ref }}
cancel-in-progress: false

jobs:
trigger:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
# We use that PAT token instead of GITHUB_TOKEN because we are triggering another github action on the 'release' event.
# Triggering a workflow from a workflow is only allowed if the relaying event is signed with a PAT.
# See https://docs.github.com/en/actions/reference/events-that-trigger-workflows#triggering-new-workflows-using-a-personal-access-token
with:
token: ${{ secrets.PAT_TOKEN }}
if: github.event_name != 'pull_request'

- uses: fregante/setup-git-user@v1

if: github.event_name != 'pull_request'

# Ignore the build changes from previous run.
# This "just" hard resets to the latest commit on main.
# The previous bundle commit will still exist, but will be "dangling", unless we made a tag for it.
# Github will eventually clean dangling commits, which is fine because again, the ones with a tag will stay around.
- name: Make Sure Release Is Reset To Main
if: github.event_name != 'pull_request'
run: |
git checkout -b release
git reset --hard $GITHUB_SHA

# if this is a PR. then just checkout without fanciness
- uses: actions/checkout@v3
if: github.event_name == 'pull_request'

# Do the actual bundling
- uses: actions/setup-node@v2
- uses: actions/setup-node@v3
with:
node-version: 17.x
cache: "npm"
cache-dependency-path: frontend-bundler/package-lock.json

- run: npm install
working-directory: frontend-bundler
- name: The Actual Build

- name: The Actual Build (try 3 times)
working-directory: frontend-bundler
run: npm run build
run: |
(npm run build) || (npm run build) || (npm run build)

- name: Check for corrupt files
working-directory: frontend-dist
run: |
if [[ $(find . -empty) ]]; then
exit 1
fi

# Push the rebuild frontend-dist to the release branch.
# Needs to be `add --force` because frontend-dist is normally gitignored.
# Also needs `push --force` because we reset to main (which doesn't contain the previous frontend-dist)
- name: Force push frontend-dist changes
if: github.event_name != 'pull_request'
run: |
git add frontend-dist --force
git commit -m "$GITHUB_WORKFLOW"
git commit -m "$GITHUB_WORKFLOW" -m "Built from hash $GITHUB_SHA"
git push origin release --force
32 changes: 18 additions & 14 deletions .github/workflows/FrontendTest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,23 +19,24 @@ on:
jobs:
frontend-test:
runs-on: "ubuntu-latest"
timeout-minutes: 30

steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: actions/checkout@v3

# Makes thes `julia` command available
- uses: julia-actions/setup-julia@v1
with:
version: "1.5"
version: "1.6" # our lowest supported version

- name: Install Pluto.jl packages
run: |
julia --project=$GITHUB_WORKSPACE -e "using Pkg; Pkg.instantiate()"

- uses: actions/setup-node@v1
- uses: actions/setup-node@v3
with:
node-version: "12.x"
node-version: "18.x"

- name: Install Chrome dependencies
run: |
Expand All @@ -62,24 +63,27 @@ jobs:
- name: Run tests
working-directory: ./test/frontend
run: |
julia -e "import Pkg; Pkg.add(path=\"$GITHUB_WORKSPACE\"); Pkg.instantiate(); import Pluto; Pluto.run(port=$PLUTO_PORT, require_secret_for_access=false)" & # Run Pluto.jl server in the background
julia --project=$GITHUB_WORKSPACE -e 'import Pluto
# Run Pluto.jl server in the background
options = Pluto.Configuration.from_flat_kwargs(;
port=parse(Int, ENV["PLUTO_PORT"]),
require_secret_for_access=false,
workspace_use_distributed_stdlib=false,
)
🍭 = Pluto.ServerSession(; options)
server = Pluto.run!(🍭)

# Wait for Pluto to initialize
TIMES_TRIED=0
until [ $TIMES_TRIED -eq 60 ] || $(curl --output /dev/null --silent --fail "http://localhost:$PLUTO_PORT/"); do
printf '.'
TIMES_TRIED=$((TIMES_TRIED+1))
sleep 1
done
run(`npm run test`)

close(server)'

npm run test
env:
PLUTO_PORT: 1235
PLUTO_TEST_OFFLINE: ${{ github.ref_name == 'release' }}
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: "true"
PUPPETEER_EXECUTABLE_PATH: "/usr/bin/google-chrome-stable"

- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
if: failure()
with:
name: test-screenshot-artifacts
Expand Down
69 changes: 69 additions & 0 deletions .github/workflows/IntegrationTest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Test dependent packages

# based on https://github.com/SciML/SciMLBase.jl/blob/master/.github/workflows/Downstream.yml, thanks!

# this is the same as Test.yml
on:
workflow_dispatch:
push:
paths-ignore:
- 'frontend/**'
- 'frontend-bundler/**'
- 'frontend-dist/**'
- 'test/frontend/**'
- '**.md'
branches:
- main
pull_request:
paths-ignore:
- 'frontend/**'
- 'frontend-bundler/**'
- 'frontend-dist/**'
- 'test/frontend/**'
- '**.md'
branches-ignore:
- release


jobs:
test:
name: ${{ matrix.package.repo }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
julia-version: [1]
os: [ubuntu-latest]
package:
- { user: JuliaPluto, repo: PlutoSliderServer.jl }

steps:
- uses: actions/checkout@v3
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.julia-version }}
arch: x64
- uses: julia-actions/julia-buildpkg@v1
- name: Clone Downstream
uses: actions/checkout@v3
with:
repository: ${{ matrix.package.user }}/${{ matrix.package.repo }}
path: downstream
- name: Load this and run the downstream tests
shell: julia --project=downstream {0}
run: |
using Pkg
try
# force it to use this PR's version of the package
Pkg.develop(PackageSpec(path=".")) # resolver may fail with main deps
Pkg.update()
Pkg.test() # resolver may fail with test time deps
catch err
err isa Pkg.Resolve.ResolverError || rethrow()
# If we can't resolve that means this is incompatible by SemVer and this is fine
# It means we marked this as a breaking change, so we don't need to worry about
# Mistakenly introducing a breaking change, as we have intentionally made one

@info "Not compatible with this release. No problem." exception=err
exit(0) # Exit immediately, as a success
end
4 changes: 2 additions & 2 deletions .github/workflows/LaunchTest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ jobs:
strategy:
matrix:
# We test quite a lot of versions because we do some OS and version specific things unfortunately
julia-version: ["1.0", "1.5", "1.7"]
julia-version: ["1.6", "1.7"]
os: [windows-latest, ubuntu-latest]

steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: actions/checkout@v3

# Makes thes `julia` command available
- uses: julia-actions/setup-julia@v1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ReleaseTriggers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
matrix:
repository: ['fonsp/pluto-on-binder', 'JuliaPluto/sample-notebook-previews']
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- run: |
curl \
-X POST \
Expand Down
28 changes: 19 additions & 9 deletions .github/workflows/TagBot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,11 @@ jobs:
# See https://docs.github.com/en/actions/reference/events-that-trigger-workflows#triggering-new-workflows-using-a-personal-access-token
token: ${{ secrets.PAT_TOKEN }}
changelog: |
## {{ package }} {{ version }}

> Try this release in your browser! _(Available 30 minutes after the release)_
> **Try this release in your browser!** _(Available 30 minutes after the release)_
>
> <a href="https://binder.plutojl.org/{{ version }}/"><img alt="Binder logo" src="https://mybinder.org/badge_logo.svg"></a>

**Generate your own binder links using [pluto-on-binder.glitch.me](https://pluto-on-binder.glitch.me/)!**

{% if previous_release %}
[Diff since {{ previous_release }}]({{ compare_url }})
{% endif %}
>
> Generate your own binder links using [pluto-on-binder.glitch.me](https://pluto-on-binder.glitch.me/)!

{% if custom %}
{{ custom }}
Expand All @@ -52,3 +46,19 @@ jobs:
- {{ issue.title }} (#{{ issue.number }})
{% endfor %}
{% endif %}

# New features
*(TODO)*

# Performance improvements
*(TODO)*

# Fixes
*(TODO)*

# Internal changes
*(TODO)*

{% if previous_release %}
[Diff since {{ previous_release }}]({{ compare_url }})
{% endif %}
21 changes: 14 additions & 7 deletions .github/workflows/Test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,16 @@ on:
- "frontend/**"
- "frontend-bundler/**"
- "frontend-dist/**"
- "test/frontend/**"
- "**.md"
branches:
- main
pull_request:
paths-ignore:
- "frontend/**"
- "frontend-bundler/**"
- "frontend-dist/**"
- "test/frontend/**"
- "**.md"
branches-ignore:
- release
Expand All @@ -23,24 +27,27 @@ on:
jobs:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 40
# Uncomment if you want to see all results for all OSses. Otherwise, the first failed test cancels all others
# continue-on-error: true
timeout-minutes: 50

strategy:
# Without setting this, a failing test cancels all others
fail-fast: false
matrix:
# We test quite a lot of versions because we do some OS and version specific things unfortunately
julia-version: ["1.5", "1.6", "1.7"] #, "nightly"]
julia-version: ["1.6", "1.8", "1.10", "nightly"] # "~1.11.0-0"]
os: [ubuntu-latest, macOS-latest, windows-latest]

steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: actions/checkout@v3

# Makes thes `julia` command available
# Makes the `julia` command available
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.julia-version }}
- uses: julia-actions/cache@v1

# 🚗
- uses: julia-actions/julia-runtest@v1
continue-on-error: ${{ matrix.julia-version == 'nightly' }}
with:
coverage: false
31 changes: 31 additions & 0 deletions .github/workflows/TestBundledExport.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Test bundled HTML export

on:
push:
branches:
- release

jobs:
frontend-test:
runs-on: "ubuntu-latest"

steps:
- uses: actions/checkout@v3

- uses: julia-actions/setup-julia@v1
with:
version: "1.8"

- name: Generate exports and check for warnings
run: |
julia --project=$GITHUB_WORKSPACE -e '
import Pkg
Pkg.activate(".")
Pkg.instantiate()
import Pluto
using Test

@test_logs Pluto.generate_html()
@test_logs Pluto.generate_index_html()
'

Loading
Loading