-
Notifications
You must be signed in to change notification settings - Fork 41
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
rewrite static website using jekyll #634
Conversation
Before we can merge this we need a proof-of-concept deployment. At the very least we need the following.
Regarding the deployment TODO: we should not use Github actions, because we do not want to concern us with Github's billing policies. We should use our Jenkins. |
@maul-esel Also, the tool pages do not work, and it looks like the web interface does not work as well. At least when I use Jekyll locally. |
When using |
|
From the screenshot, it looks like the problem may be that no tool is selected -- the URL should have a parameter like
|
A very simple integration would be possible with the |
|
@bahnwaerter and I looked into the automatic build:
|
@maul-esel can you undo your merge of the |
What exactly is needed here until we can merge it? There is now a python script that can convert settings (from epf to json). If I understand it correctly to build the website, you can just run this script and |
@schuessf did you try that? How do we deploy it? |
Let's try and revive this. I've looked through the changes again, added some more documentation, updated the dependencies, and migrated all recent changes to the website. From my side, this is ready to merge. @danieldietsch You wanted to set up a docker runner on jenkins for this, right? To deploy, we need to execute the following steps: cd trunk/source/WebsiteStatic/
./build_all_settings.py
bundle exec jekyll build --baseurl "/"
cp ../../../releaseScripts/website-config/frontend/config.js _site/js/webinterface/config.js
cp _site/ <wherever we currently deploy the files to> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So far, your changes look great. I tested to build the website using Jekyll 4.3.3 on Arch Linux and it works like charm. The diff of the Gemfile.lock
looks as follows:
diff --git a/trunk/source/WebsiteStatic/Gemfile.lock b/trunk/source/WebsiteStatic/Gemfile.lock
index 8c1469c81e..2c8a9e0813 100644
--- a/trunk/source/WebsiteStatic/Gemfile.lock
+++ b/trunk/source/WebsiteStatic/Gemfile.lock
@@ -3,7 +3,6 @@ GEM
specs:
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
- bigdecimal (3.1.8)
colorator (1.1.0)
concurrent-ruby (1.3.4)
em-websocket (0.5.3)
@@ -11,14 +10,9 @@ GEM
http_parser.rb (~> 0)
eventmachine (1.2.7)
ffi (1.17.0-x64-mingw-ucrt)
+ ffi (1.17.0-x86_64-linux-gnu)
ffi (1.17.0-x86_64-linux-musl)
forwardable-extended (2.6.0)
- google-protobuf (4.27.3-x64-mingw-ucrt)
- bigdecimal
- rake (>= 13)
- google-protobuf (4.27.3-x86_64-linux)
- bigdecimal
- rake (>= 13)
http_parser.rb (0.8.0)
i18n (1.14.5)
concurrent-ruby (~> 1.0)
@@ -38,8 +32,8 @@ GEM
safe_yaml (~> 1.0)
terminal-table (>= 1.8, < 4.0)
webrick (~> 1.7)
- jekyll-sass-converter (3.0.0)
- sass-embedded (~> 1.54)
+ jekyll-sass-converter (2.2.0)
+ sassc (> 2.0.1, < 3.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.4.0)
@@ -54,7 +48,6 @@ GEM
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (6.0.1)
- rake (13.2.1)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
@@ -62,9 +55,8 @@ GEM
strscan
rouge (4.3.0)
safe_yaml (1.0.5)
- sass-embedded (1.77.8)
- google-protobuf (~> 4.26)
- rake (>= 13)
+ sassc (2.4.0)
+ ffi (~> 1.9)
strscan (3.1.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
@@ -79,6 +71,7 @@ GEM
PLATFORMS
x64-mingw-ucrt
+ x86_64-linux
x86_64-linux-musl
DEPENDENCIES
Thanks for trying it out @bahnwaerter! I've added the missing platform to |
I used your committed version and tried it again. Now I can confirm that it does not change any dependency in the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your work!
I have checked the Jekyll Build on Windows and everything worked as expected.
I added some comments about the settings and build process.
trunk/source/WebsiteStatic/webinterface/code_examples/automataScript/BuchiAutomata.ats
Outdated
Show resolved
Hide resolved
OK, I've deleted the ./scripts/build.py For deployment (@danieldietsch), the following should now suffice: cd trunk/source/WebsiteStatic/
./scripts/build.py --production
cp _site/ <wherever we currently deploy the files to> (Note that |
600c596
to
e5687bd
Compare
The new Jenkins job "Deploy website" (for this PR: https://jenkins.sopranium.de/job/Ultimate/job/Deploy%20Website/view/change-requests/job/PR-634/) allows you to deploy the website to ultimate-pa.org. It looks like it works, but the site itself is missing examples. Any idea why? Is there something missing from building the website? |
The relative path to the |
Instead of keeping redundant copies of these hundreds of example files, we copy them from their original location as part of the build process. Since this complicates the build, we add ./scripty/build.py to automate the steps; and in the process, re-structure the existing scripts. README.md has been updated to reflect the simplified build, and some other outdated information has also been fixed.
* fix module structure & imports * prepare calls to external tools in externals.py * use java -jar ... instead of calling the Ultimate binary (much faster for Windows, does not force-opens various cmd Windows)
0d8d41e
to
91ccee3
Compare
As discussed, this PR rewrites the static website.
tools/automizer
instead of?ui=tool&tool=automizer
. Old URLs are redirected (using javascript) to the new URLs for backward compatibility with existing links.Of course there is always more to improve, but I would consider the rewrite to be pretty much complete. Please point out any mistakes and bugs if present.
TODO