WIP: feat: python phase 1 #4609
Draft
delliott
wants to merge 1 commits from
delliott/fsfe-website:feat/python-tools
into master
pull from: delliott/fsfe-website:feat/python-tools
merge into: FSFE:master
FSFE:master
FSFE:ADD-event-20251002-01-01-8f5c3dc5f44e196a
FSFE:ADD-event-20250202-01-01-3f23819e4cb57787
FSFE:ADD-event-20250202-01-01-e342445cac228d41
FSFE:ADD-event-20250202-01-01-d62159c5412a699b
FSFE:ADD-event-20250201-02-01-11188d923e49afc9
FSFE:ilovefs-shortlink-nuernberg-registration
FSFE:news-20250108-tags
FSFE:delete-old-new-20250103
FSFE:ADD-event-20260121-01-01-4c0609985dcbfbdd
FSFE:ADD-event-20241214-01-01-c3b63098931aa4f7
FSFE:ADD-event-20241214-01-01-5b604711c3d00c71
FSFE:ADD-event-20241227-01-01-ae6b3f2589884c18
FSFE:news-20241125-yh4f
FSFE:20241122-banner
FSFE:ADD-event-20250123-01-01-327fc15e4e0a920f
FSFE:ADD-event-20250123-01-01-9f683753335404e9
FSFE:ADD-event-20250123-01-01-71f2d2b04a9566b7
FSFE:20241115-event
FSFE:ADD-event-20241116-01-01-76520e0c3eb53736
FSFE:ilovefs-add-sharepic-25
FSFE:ADD-event-20241214-01-01-4e6b0de6ec6769b9
FSFE:ADD-event-20241214-01-01-6faf333779c63c9a
FSFE:ADD-event-20241214-01-01-b28016d5d37bcb1d
FSFE:ADD-event-20241214-01-01-cfd07879ebd40cc0
FSFE:ADD-event-20241214-01-01-a6198dcb1e85c939
FSFE:ADD-event-20241214-01-01-77e285dc27cb7c71
FSFE:ADD-event-20241214-01-01-0e9a153a423c7709
FSFE:ADD-event-20241214-01-01-a0990cbdebfe5e64
FSFE:ADD-event-20241214-01-01-4393373d9bb1a24e
FSFE:ADD-event-20241214-01-01-7a0e8b06698ebb62
FSFE:ADD-event-20241214-01-01-064c258df88a63b2
FSFE:YH4F-redirect-feedback
FSFE:ADD-event-20241123-01-01-384b7d33dda1fc54
FSFE:ADD-event-20241123-01-01-b15d879bd9272915
FSFE:ADD-event-20241123-01-01-e8b31a550bc212f6
FSFE:ADD-event-20241123-01-01-8429a03d21c80ae1
FSFE:ADD-event-20241123-01-01-05508c204c08b0b7
FSFE:ADD-event-20241123-01-01-4c832e7a0a84c4a2
FSFE:ADD-event-20241123-01-01-9f8653652bff4df3
FSFE:ADD-event-20241123-01-01-60356954426adffc
FSFE:ADD-event-20241123-01-01-4ce9219adcda70bf
FSFE:ADD-event-20241108-09-01-955184905d2fa7d5
FSFE:ADD-event-20241108-09-01-b280188b23e56995
FSFE:ADD-event-20241108-09-01-48afd3272d58222f
FSFE:ADD-event-20241029-01-01-14c6b9f34f60e9cd
FSFE:ADD-event-20241123-01-01-a2a47df97909f496
FSFE:ADD-event-20241123-01-01-73d1c1db19cc618e
FSFE:ADD-event-20241123-01-01-bc9126aa3e0374f7
FSFE:ADD-event-20241123-01-01-b93648d44b18be46
FSFE:ADD-event-20241123-01-01-44acbc3f972d66ca
FSFE:ADD-event-20241108-02-01-907c441ceea25d9e
FSFE:ADD-event-20241108-02-01-4943d5db2b3b5dd8
FSFE:ADD-event-20241108-02-01-d8a92aef4cfb6b82
FSFE:ADD-event-20241108-02-01-09cce142e5a4ae5b
FSFE:ADD-event-20241108-02-01-8d47b1f5ee32eca3
FSFE:ADD-event-20241108-02-01-1d8690247e544459
FSFE:ADD-event-20241109-04-01-12baab869e9475f4
FSFE:ADD-event-20240811-01-01-51aeaa81e341feea
FSFE:ADD-event-20240811-01-01-8fbf446e1343a477
FSFE:ADD-event-20240811-01-01-a55fc7e264c27300
FSFE:ADD-event-20250117-01-01-09ae509e82d8eb9b
FSFE:test
FSFE:ADD-event-20240811-01-01-187e472a4f0dc3cb
FSFE:ADD-event-20240811-01-01-eb255a21f86e09d0
FSFE:YH4F-registration-update-date
FSFE:linuxdaytypo
FSFE:ADD-event-20241010-01-01-8bd4e759869302e3
FSFE:YH4F-typo-activity
FSFE:ADD-event-20241008-01-01-a161723e0d346df1
FSFE:ADD-event-20241010-01-01-08b62bee7fcc13f5
FSFE:news-20240923-yearly
FSFE:news-20240923-yearreport
FSFE:ADD-event-20240912-01-01-cdbb291be118f46c
FSFE:newsletter-20240909
FSFE:html-timeline
FSFE:nix-develop
FSFE:news.20240828-ngi
FSFE:20240816_froscon_event_update
FSFE:20240813-yh4f
FSFE:news-update-on-programming-period-and-new-sponsor
FSFE:news-20240809-apple
FSFE:pdfreaders-deprecate
FSFE:events-20240530
FSFE:anaghz-patch-3
FSFE:anaghz-patch-4
FSFE:SFP024-ilovefs-episode
FSFE:ilovefs_typo
FSFE:ilovefs24-events-patch-1
FSFE:compare-xml-structure
FSFE:followup-default-mail
FSFE:feature/peertube-for-upcycle-android
No reviewers
Labels
Clear labels
Requires careful coordination and documentation changes
bug
build
cgi Scripting
design
disruptive
Requires careful coordination and documentation changes
documentation
duplicate
easy
feature-request
help wanted
javascript
priority/low
question
system-hackers
tagging
text
translations
wait/bugfix
wait/inprogress
wait/misc
wait/proofread
wontfix
xsl
No Label
bug
build
cgi Scripting
design
disruptive
documentation
duplicate
easy
feature-request
help wanted
javascript
priority/low
question
system-hackers
tagging
text
translations
wait/bugfix
wait/inprogress
wait/misc
wait/proofread
wontfix
xsl
Milestone
Clear milestone
No items
No Milestone
Assignees
Clear assignees
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: FSFE/fsfe-website#4609
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
No description provided.
Delete Branch "delliott/fsfe-website:feat/python-tools"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Install python deps using venv during the build process
Rewrite the entirety of Phase1 in python.
This brings significant speed ups. At time of writing, pre some further optimization, I am seeing ~6secs vs ~113secs for worst case scenario (Full rebuild)
This will unfortunately require some additionally dependencies on the build server. The upside is that any future python deps can be added without touching the build server.
The additional deps are:
I believe this worthwhile for the speed improvements, superior portability and more reproducible development environments.
Pinging @tobiasd as maintainer.
910ed37845
to8e510f094b
Pr for updating build server as required found here: fsfe-system-hackers/build-server#14
@ -86,3 +86,3 @@
The package names for Debian, are
```
bash bash-completion coreutils diffutils findutils inotify-tools libxml2-utils libxslt make procps python3 rsync
bash bash-completion coreutils diffutils findutils inotify-tools libxml2-utils libxslt make procps python3 pip rsync
The Debian package for
pip
ispython3-pip
I thinkYes, I think you are right
@ -23,3 +23,3 @@
# Check dependencies for all kinds of build envs (e.g. development, fsfe.org)
check_dependencies realpath rsync xsltproc xmllint sed find egrep grep wc make tee date iconv wget shuf python3
check_dependencies realpath rsync xsltproc xmllint sed find egrep grep wc make tee date iconv wget shuf python3 pip
Here as well
python3-pip
right?8e510f094b
toc5defbf983
c5defbf983
tod15c2c5a76
d15c2c5a76
to279100dd71
Pr now includes a python
build.py
wrapper over the main build scripts. It enjoys far more sensible arguments thanbuild_main.sh
, and is easier to write and maintain thanbuild.sh
.My goal is that all builds of the website will be done using this script, and then the build process itself can be slowly rewritten with
build.py
as its stable interface.As of now this pr is designed such that it requires #4660 and #4564
279100dd71
to2302fbddbe
2302fbddbe
to930acdc344
The scope of this pr has increased a little from when it started, and I have updated the main comment to reflect this.
This pr does not require altering the cron job on the server, although it does need the deps mentioned above.
After this has been merged for a bit I would like to alter the cronjobs to use the interface provided by
build.py
. Its far easier to make sense of, and I intendbuild.py
so serve as a stable frontend throughout the rest of the rewrite process.930acdc344
to8914820be7
WIP: feat: pythonisationto WIP: feat: python phase 18914820be7
to6ac91ca7bc
Is currently fully functional and seems to correctly handle all pages, tags etc.
Will keep in wip until the two prerequisites are merged, but can be tested in the meantime.
6ac91ca7bc
to881b24d83f
881b24d83f
to3393a77836
3393a77836
toccc40ab9a5
Checkout
From your project repository, check out a new branch and test the changes.