natron.yml
- -```yml -natron: - label: "Submit Natron scene" - steps: - build_output_path: - label: "Build output path" - index: 10 - commands: - select_extension: - label: "Output extension" - path: "silex_client.commands.select_list.SelectList" - parameters: - param_name: "Output extension" - parameters_list: - - "exr" - - "png" - - "jpg" - - "tiff" - - build_output_path: - label: "Build output path" - path: "silex_client.commands.build_output_path.BuildOutputPath" - ask_user: true - parameters: - create_temp_dir: false - create_output_dir: false - output_type: - value: !command-output "build_output_path:select_extension" - hide: true - use_current_context: - value: true - hide: true - name: - value: "render" - - natron_render: - label: "Setup render parameters" - index: 20 - commands: - build_natron_tasks: - path: "silex_client.commands.farm.natron_render_tasks.NatronRenderTasksCommand" - label: "Natron Job parameters" - ask_user: true - parameters: - output_directory: - value: !command-output "build_output_path:build_output_path:directory" - output_filename: - value: !command-output "build_output_path:build_output_path:file_name" - output_extension: - value: !command-output "build_output_path:select_extension" - - submit_to_tractor: - label: "Submit" - path: "silex_client.commands.farm.submit_to_tractor.SubmitToTractorCommand" - ask_user: true - parameters: - tasks: - value: !command-output "natron_render:build_natron_tasks:tasks" - job_title: - value: !command-output "natron_render:build_natron_tasks:file_name" - job_tags: - value: - - "natron" -``` - -
-natron_render_tasks.py
final- -```python -from __future__ import annotations - -import logging -import pathlib -import typing -from typing import Any, Dict, List - -from fileseq import FrameSet -from silex_client.action.command_base import CommandBase -from silex_client.utils import command_builder, farm, frames -from silex_client.utils.parameter_types import TaskFileParameterMeta - -# Forward references -if typing.TYPE_CHECKING: - from silex_client.action.action_query import ActionQuery - - -class NatronRenderTasksCommand(CommandBase): - """ - Construct Natron render commands - See: https://natron.readthedocs.io/en/rb-2.5/devel/natronexecution.html - """ - - parameters = { - "scene_file": { - "label": "Project file", - "type": TaskFileParameterMeta(extensions=[".ntp"]), - }, - "output_directory": {"type": pathlib.Path, "hide": True}, - "output_filename": {"type": str, "hide": True}, - "output_extension": {"type": str, "hide": True}, - "frame_range": { - "label": "Frame range", - "type": FrameSet, - "value": "1-50x1", - }, - "task_size": { - "label": "Task size", - "tooltip": "Number of frames per computer", - "type": int, - "value": 10, - }, - "write_node": {"type": str, "value": "Write1"}, - } - - @CommandBase.conform_command() - async def __call__( - self, - parameters: Dict[str, Any], - action_query: ActionQuery, - logger: logging.Logger, - ): - output_directory: pathlib.Path = parameters["output_directory"] - output_filename: str = parameters["output_filename"] - output_extension: str = parameters["output_extension"] - - scene_file: pathlib.Path = parameters["scene_file"] - write_node: str = parameters["write_node"] - frame_range: FrameSet = parameters["frame_range"] - task_size: int = parameters["task_size"] - - output_path = ( - output_directory - / write_node - / f"{output_filename}_{write_node}.####.{output_extension}" - ) - - natron_cmd = command_builder.CommandBuilder( - "natronrenderer", rez_packages=["natron"], delimiter=None - ) - - tasks: List[farm.Task] = [] - frame_chunks = frames.split_frameset(frame_range, task_size) - - for chunk in frame_chunks: - # Copier la commande initiale - chunk_cmd = natron_cmd.deepcopy() - - chunk_range = str(chunk).replace("x", ":") - chunk_cmd.param("w", [write_node, output_path, chunk_range]) - chunk_cmd.value(scene_file.as_posix()) - - command = farm.wrap_with_mount( - chunk_cmd, action_query.context_metadata["project_nas"] - ) - - task = farm.Task(str(chunk)) - task.addCommand(command) - tasks.append(task) - - return {"tasks": tasks, "file_name": scene_file.stem} -``` - -
- -submit.yml
définition de l’action- -```yaml -submit: - shelf: "output" - thumbnail: "submit.svg" - - steps: - setup: - lavel: "Setup" - index: 50 - commands: - get_submiter: - label: "Select submiter" - path: "silex_client.commands.select_submit.SelectSubmit" - tooltip: "Select the type of conform you want to make" - ask_user: true - - append_submit_actions: - label: "Append selected submit action" - path: "silex_client.commands.insert_action.InsertAction" - tooltip: "Append the selected submit to the list of commands to execute" - parameters: - category: "submit" - action: - value: !command-output "setup:get_submiter:action" - hide: true - - silex_coins: - index: 500 - hide: true - commands: - add_silex_coins: - path: "silex_client.commands.user.silex_coins.AddSilexCoinsCommand" - parameters: - amount: - value: 3 -``` - -
- -vray.yml
définition de l’action- -```yaml -vray: - label: "Submit V-Ray scene" - steps: - build_output_path: - label: "Build output path" - index: 10 - commands: - select_extension: - label: "Output extension" - path: "silex_client.commands.select_list.SelectList" - parameters: - param_name: "Output extension" - parameters_list: - - "exr" - - "png" - - "jpg" - - "tiff" - - build_output_path: - label: "Build output path" - path: "silex_client.commands.build_output_path.BuildOutputPath" - tooltip: "Build the complete output path" - ask_user: true - parameters: - output_type: - value: !command-output "build_output_path:select_extension" - hide: true - create_temp_dir: false - create_output_dir: false - task: - hide: true - use_current_context: - value: true - hide: true - frame_set: - hide: true - name: - value: "render" - - vray_render: - label: "Setup render parameters" - index: 20 - commands: - build_vray_tasks: - path: "silex_client.commands.farm.vray_render_tasks.VrayRenderTasksCommand" - label: "V-Ray Job parameters" - ask_user: true - parameters: - output_directory: - value: !command-output "build_output_path:build_output_path:directory" - output_filename: - value: !command-output "build_output_path:build_output_path:file_name" - output_extension: - value: !command-output "build_output_path:select_extension" - - submit_to_tractor: - label: "Submit" - path: "silex_client.commands.farm.submit_to_tractor.SubmitToTractorCommand" - ask_user: true - parameters: - tasks: - value: !command-output "vray_render:build_vray_tasks:tasks" - job_title: - value: !command-output "vray_render:build_vray_tasks:file_name" - job_tags: - value: - - "vray" -``` - -
- -
- \\{PROD_ROOT}
- \rez\{" "}
-
-
-
-
- \\{PROD_ROOT}
- \rez\packages\silex-rez\packages\
-
-
-
-\\{PROD_ROOT}\rez\packages\silex-rez\packages\silex\
-
-
-
- ssh {PROD_SSH}
-
-
-git submodule update --remote
-
-\\{PROD_ROOT}\rez\packages\silex-rez\packages\silex\
-
-, si vous regardez dans l'un des silex_folder, vous pourrez voir un dossier **beta**
-et un **prod**. Ils contiennent tous les deux la branche du même nom dans le repository,
-et sont mis à jour en fonction de ces branches.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/td/Workflow/continuous-integration.md b/i18n/fr/docusaurus-plugin-content-docs/current/td/Workflow/continuous-integration.md
deleted file mode 100644
index 748577a..0000000
--- a/i18n/fr/docusaurus-plugin-content-docs/current/td/Workflow/continuous-integration.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-id: continuous-integration
-title: Intégration continue
-sidebar_position: 0
----
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/td/Workflow/git-github.md b/i18n/fr/docusaurus-plugin-content-docs/current/td/Workflow/git-github.md
deleted file mode 100644
index b474bd4..0000000
--- a/i18n/fr/docusaurus-plugin-content-docs/current/td/Workflow/git-github.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-id: github
-title: Git & GitHub
-sidebar_position: 20
----
----
-
-Tout le code de Silex est hébergé sur GitHub dans l'organisation [ArtFXDev](https://github.com/ArtFXDev) :
-
-![](/img/silex_repositories.png)
-
-## Conventions
-
-### `README.md`
-
-Silex est censé être **open-source** donc les repositories doivent être bien présentés et propre. Nous utilisons une structure similaire pour chaque ligne de fichiers `README.md` sur [`silex-front`](https://github.com/ArtFXDev/silex-front#readme).
-
-### Nom du repository
-
-- Pour les package Rez, nous utilisons des underscores `_` parce qu'un trait d'union désigne une version pour Rez. (exemples: `silex_houdini`, `silex_client`)
-
-- Pour les autres repositories c'est habituellement `silex-*` avec des traits d'union (`-`). (exemples: `silex-front`, `silex-socket-service`)
-
-## Branches et Pull requests
-
-Pour les repositories critiques, nous avons habituellement des branches `dev`, `beta` et `prod` branches. C'est le cas de [`silex_client`](https://github.com/ArtFXDev/silex_client).
-
-Un développeur qui travaille sur le repository peut faire comme ceci:
-
-```
-feature-branch1 -> dev -> beta -> prod
-```
-
-1. Allez sur la branche `dev` : `git checkout dev`
-2. Créer une branche de feature: `git checkout -b feature-branch1`
-3. Apporter des modifications et commit: `git add ... && git commit -m "my feature"`
-4. Push ces modifications sur GitHub: `git push origin feature-branch1`
-5. Créer une pull request sur GitHub
-6. Un autre TD review votre code et approuve les changements
-7. Vous mergez la pull request en `dev`
-8. Lorsque les changements sont prêts, faites une pull request de `dev` à `beta`
-9. Les bêta-testeurs utilisent cette feature
-10. Enfin, merge `beta` en `prod` pour que tout le monde puisse l'utiliser
-
-## Registre des dockers GitHub
-
-Afin d'utiliser les images dans le [deployment repository](https://github.com/ArtFXDev/silex-deploy) en utilisant `docker-compose`, il y a une action GitHub sur certains repositories **pour construire une image automatiquement lorsqu'un tag est push**.
-
-Pour créer et push un tag, faire ce qui suit:
-
-```shell
-$ git tag v