66 Commits

Author SHA1 Message Date
2f82e8d2e0 Implement comprehensive Docker development environment with major performance optimizations
* Docker Infrastructure:
  - Multi-stage Dockerfile.dev with optimized Go proxy configuration
  - Complete compose.dev.yml with service orchestration
  - Fixed critical GOPROXY setting achieving 42x performance improvement
  - Migrated from Poetry to uv for faster Python package management

* Build System Enhancements:
  - Enhanced Mage build system with caching and parallelization
  - Added incremental build capabilities with SHA256 checksums
  - Implemented parallel task execution with dependency resolution
  - Added comprehensive test orchestration targets

* Testing Infrastructure:
  - Complete API testing suite with OpenAPI validation
  - Performance testing with multi-worker simulation
  - Integration testing for end-to-end workflows
  - Database testing with migration validation
  - Docker-based test environments

* Documentation:
  - Comprehensive Docker development guides
  - Performance optimization case study
  - Build system architecture documentation
  - Test infrastructure usage guides

* Performance Results:
  - Build time reduced from 60+ min failures to 9.5 min success
  - Go module downloads: 42x faster (84.2s vs 60+ min timeouts)
  - Success rate: 0% → 100%
  - Developer onboarding: days → 10 minutes

Fixes critical Docker build failures and establishes production-ready
containerized development environment with comprehensive testing.
2025-09-09 12:11:08 -06:00
e8ea44a0a6 Implement optimized Docker development environment
- Add multi-stage Dockerfile.dev with 168x Go module performance improvement
- Implement modern Docker Compose configuration with caddy-docker-proxy
- Add comprehensive Makefile.docker for container management
- Migrate from Poetry to uv for Python dependencies
- Fix Alpine Linux compatibility and Docker mount conflicts
- Create comprehensive documentation in docs/ directory
- Add Playwright testing integration
- Configure reverse proxy with automatic HTTPS
- Update .gitignore for Docker development artifacts
2025-09-09 10:25:30 -06:00
luz paz
92a93bb4d7 Cleanup: Fix various documentation related typos
Found via `codespell -S "*.po,*.chunk.min.js" -L
cace,cacl,currenty,eacf,eacg,fo,nd,nin,ontext,originaly,ot,te,ue`

No functional changes.

Co-authored-by: Sybren A. Stüvel <sybren@blender.org>
Pull Request: https://projects.blender.org/studio/flamenco/pulls/104436
2025-09-08 16:47:55 +02:00
Sybren A. Stüvel
e5215b86b1 Website: update developer documentation about the database
Clarify the uses of SQLC and Goose, remove the last mention of GORM.
2025-08-25 12:55:40 +02:00
Sybren A. Stüvel
01a97862db Website: update OpenAPI commit guidelines
Since the introduction of a `.gitattributes` file, tooling (like Gitea)
is aware of which files are generated. This means that all
OpenAPI-related changes (`pkg/api/flamenco-openapi.yaml`, re-generated
code, and changes to the implementation) can be commited together.

The downside is that tooling that is not aware of `.gitattributes` will
still show a big mix of hand-crafted and generated changes. The upside
is that each commit brings Flamenco from a valid, runnable state to
another valid, runnable state. This helps greatly when investigating
history (like bisecting) to find the source of a bug.
2025-08-07 10:45:17 +02:00
Sybren A. Stüvel
1b9b40728d Website: improve docs about installation of code generators
Link to the official Java installer, as that doesn't require XCode to be
installed (on macOS). And that works on Windows too.
2025-06-30 11:23:43 +02:00
Sybren A. Stüvel
65f391183e Add install-generators make target and improve documentation
Add Make target `install-generators` as alias for `mage installGenerators`
and update the documentation for it.
2025-06-30 11:01:15 +02:00
Sybren A. Stüvel
0b50f154cc Website: remove the instructions to install make
`make` is no longer needed to build Flamenco, and so the installation
instructions (especially for Windows and macOS) can be made considerably
simpler.
2025-06-17 10:41:31 +02:00
Sybren A. Stüvel
0315f15277 Add make check target
Add a `make check` target, which just forwards to `mage check`.
2025-06-17 10:15:58 +02:00
Sybren A. Stüvel
67d66422fd Website: update & expand doc of mage and make targets
Update & expand the available argets for `mage` and `make`.
2025-06-17 10:14:46 +02:00
Sybren A. Stüvel
dc152d6c9a Website: add alias /devstart to the developer "getting started" page
Add `/devstart` as an alias to `/development/getting-started/` page. This
is to be able to use a shorter link in the documentation I'm writing for
my hands-on class at SIGGRAPH 2025.
2025-05-06 15:27:43 +02:00
Vivian Leung
190e26adc0 Update the Javascript instructions for initializing Flamenco's API (#104387)
Updated to match the current way of initializing API's with `getAPIClient()`

It seems possible the Python instructions might need an update as well.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104387
2025-05-06 09:19:43 +02:00
Srivathsav-Kyatham
d2bdc9690d Website: update file path of SocketIO handling
Change `webupdates/webupdates.go` to `eventbus/socketio.go`

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104381
2025-04-10 12:02:35 +02:00
Avi Gupta
0c811721fe Website: Add docs for MacOS under "utilities" in "getting started"
Add instructions for installing `make`.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104378
2025-04-07 11:28:20 +02:00
Sybren A. Stüvel
31096b34a7 Website: update GSoC text
I've taken out the plagiarism thing, and added a "become familiar with
Flamenco" thing.
2025-04-05 10:12:59 +02:00
Sybren A. Stüvel
f298e5d03b Website: add clause about the use of AI to the GSoC page 2025-04-03 15:28:30 +02:00
Sybren A. Stüvel
f239046702 Website: remove linkTitle: GSoC
Remove the `linkTitle: GSoC` from the GSoC page front matter. It is not
used for the links in the navigation tree, which is why I put it there
to begin with.
2025-04-03 10:48:05 +02:00
Sybren A. Stüvel
a1f97e8f19 Website: link to Blender's 'contributing code' docs 2025-04-03 09:58:26 +02:00
Sybren A. Stüvel
8e5f6d006d Website: add GSoC section
Add a section for GSoC.
2025-04-03 09:57:54 +02:00
Sybren A. Stüvel
10b91422cc Website: upgrade NodeJS dependency from v18 to v22
The latest NodeJS LTS release (v22) seems to work fine. No need to stick
to older versions, from what I can see.
2025-02-10 12:07:47 +01:00
Sybren A. Stüvel
7d8262e630 Website: document the use of build tool mage 2024-10-04 22:47:29 +02:00
Sybren A. Stüvel
0031ac31af Website: document "brew link" step in macOS dev docs 2024-10-03 19:12:27 +02:00
Sybren A. Stüvel
f1afae47d4 Website: document how to run the Flamenco Manager profiler
It's basic, but at least it saves me from finding the info again.
2024-09-30 18:07:17 +02:00
Sybren A. Stüvel
4073c34b0d Website: update another chat link
I missed a link in my previous commit.
2024-08-26 18:05:12 +02:00
Sybren A. Stüvel
8b01012539 Website: document more of the sqlc workflow
Document installation & use of sqlc.

Installing sqlc is only necessary to regenerate the database code. Once
generated, the code is independent of sqlc.
2024-05-30 09:50:17 +02:00
Mateus Abelli
d5977c637b Website: Fix links in Documentation /development/database
This patch fixes what appears to be placeholders for the markdown links of GORM and SQLC.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104309
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
2024-05-16 08:26:03 +02:00
Mateus Abelli
43a452e940 Website: Update the required Go version to Latest 2024-03-25 15:10:36 +01:00
Sybren A. Stüvel
c046094880 Manager: start replacing GORM with SQLC
GORM has certain downsides:

- Code-first approach, where queries have to be translated to the Go code
  required to execute them.
- GORM comes with its own SQLite implementation, which doesn't provide an
  on-connect callback. This means that new connections cannot correctly
  enable foreign key constraints, causing database consistency issues.

[SQLC](https://sqlc.dev/) solves these issues for us.

This commit doesn't fully replace GORM with SQLC, but introduces it for
a few queries. Once all queries have been converted, GORM can be removed
completely.
2024-03-03 20:15:39 +01:00
Sybren A. Stüvel
17c92e18c7 Website: adjust documentation for the new event bus
Needs more work though. At least now it doesn't point to non-existing
files any more.
2024-02-05 09:27:06 +01:00
Sybren A. Stüvel
a75c8f0835 Bump build requirements to Go 1.21 and NodeJS 18
NodeJS 18 is the current LTS version, and Go 1.21 is the latest release.
2023-10-20 08:39:45 +02:00
Sybren A. Stüvel
02fac6a4df Change Go package name from git.blender.org to projects.blender.org
Change the package base name of the Go code, from
`git.blender.org/flamenco` to `projects.blender.org/studio/flamenco`.

The old location, `git.blender.org`, has no longer been use since the
[migration to Gitea][1]. The new package names now reflect the actual
location where Flamenco is hosted.

[1]: https://code.blender.org/2023/02/new-blender-development-infrastructure/
2023-08-01 12:42:31 +02:00
Sybren A. Stüvel
e8ae0c3cf2 Website: Fix 'report a bug' link 2023-07-24 14:53:18 +02:00
Sybren A. Stüvel
a5e405de16 Web: more SocketIO documentation
Add that the OpenAPI specs also define the structures used for SocketIO
communication.
2023-07-13 10:13:24 +02:00
Sybren A. Stüvel
b83b929e01 Web: add some technical details to the socketIO documentation
Add technical details to explain which part of the SocketIO-based broadcast
system is implemented where in the source code.
2023-07-13 10:08:34 +02:00
Francesco Siddi
9915951007 Deploy: Update deployment instructions
Move sensitive information into a dedicated .env file, which is
required only for deployment purposes.
2023-05-15 20:09:03 +02:00
Sybren A. Stüvel
bbeefd4bfa Website: fix developer 'get started' links
Links of the `[text][linkname]` form should not have a space between
the two bracketed parts. And I removed the link to projects.blender.org
because the other two links also link there (indirectly resp. directly).
2023-05-09 15:36:23 +02:00
Francesco Siddi
6642ad38da Website: Column based layout for the Get Involved page 2023-05-08 14:23:08 +02:00
Francesco Siddi
8da71a323f Website: Content refactor
- Hide sidebar in pages visible in the top nav, except for Docs
- Create an "About" page, featuring the design principles
- Update components illustration
- Move the "What's new in Flamenco 3" page in the FAQ
- Add TOD to the FAQ
- Tweak homepage layout to use two columns
- Styling: slightly reduce max page width (around 12 words per line)
- Styling: tweak padding for titles and paragraphs
2023-05-06 03:34:54 +02:00
Sybren A. Stüvel
3c1871cf0b Web: some rewording & markup changes to 'mission' page
Some rewording & reformatting of the 'mission', and extending the
'development/getting started' page.
2023-05-01 10:56:52 +02:00
Sybren A. Stüvel
2a3356049b Docs: add config param + shortcode for bug reporting button 2023-04-14 11:52:01 +02:00
Sybren A. Stüvel
ea20e94e94 Website: more updates to 'steps to release'
Move the updating of `web/project-website/data/flamenco.yaml` to an earlier
step, so that it's committed & tagged along with the rest of the changes.
2023-02-21 12:17:09 +01:00
Sybren A. Stüvel
a692444fb5 Website: more updates to the 'steps to release'
It now also has a step to update `web/project-website/data/flamenco.yaml`.
2023-02-21 12:14:28 +01:00
Sybren A. Stüvel
9cf34089e4 Website: update steps to release new version
Some steps still expected that the version bump was done with a script
(which hasn't been in use for a while now).
2023-02-21 12:12:31 +01:00
Sybren A. Stüvel
d8ace7b7ff Website: document Go 1.20 is needed 2023-02-20 11:52:35 +01:00
Sybren A. Stüvel
e855d59c68 Website: update Git URLs to projects.blender.org 2023-02-09 15:23:53 +01:00
Sybren A. Stüvel
55bfc8db88 Website: update URLs to point to projects.blender.org 2023-02-07 17:41:26 +01:00
Sybren A. Stüvel
f93c66edb3 Documentation: no longer mention Bootstrap as dependency
The web app doesn't use Bootstrap, so it shouldn't be mentioned in the
docs.
2022-12-06 16:46:14 +01:00
Sybren A. Stüvel
fe8b6e025e Fix link in "Report a Bug" button 2022-11-21 18:14:00 +01:00
Sybren A. Stüvel
75592d12d3 Fix T102188: Add bug reporting URL to Flamenco "Get Involved" page 2022-11-21 18:01:51 +01:00
Sybren A. Stüvel
e700e0efdf Website: move exclamation mark outside of link text 2022-11-11 16:55:14 +01:00