Skip to content

Icons for bools#192

Merged
gehelem merged 50 commits intomainfrom
IconsForBools
Nov 15, 2025
Merged

Icons for bools#192
gehelem merged 50 commits intomainfrom
IconsForBools

Conversation

@gehelem
Copy link
Owner

@gehelem gehelem commented Nov 15, 2025

No description provided.

gehelem and others added 30 commits November 9, 2025 11:29
- Removed problematic global 'default' section
- Simplified build and package jobs with cleaner structure
- Moved image and before_script to individual jobs
- Reduced verbosity while maintaining necessary build steps
- Pipeline now builds on commits to main and tags
- Creates Debian package automatically on main branch
- Publishes release assets only on tags

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
Changed install destinations from absolute paths (e.g., /usr/bin) to
relative paths (e.g., usr/bin) so that cmake --install with --prefix
correctly places files in the install directory hierarchy.

This fixes the Debian package build job which expects files to be
installed to the prefix directory.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
Split out testing logic from build-job into a new test-job stage.
Test job:
- Runs after successful build
- Starts ostserver and validates websocket connection with wscat
- Captures output in stdout artifact
- Runs on main branch and tags

Pipeline order: build → test → package → release

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
Add PATH and LD_LIBRARY_PATH to test-job so it can find:
- ostserver binary in ./install/usr/bin/
- shared libraries in ./install/usr/lib/

This allows the test job to execute ostserver without needing
to install it system-wide.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
The build/ directory artifact is not needed by downstream jobs.
Only install/ is required for test and package jobs.

Reduces artifact storage by removing unnecessary build artifacts.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
The test job now checks if the wscat output (stdout) is not empty.
If stdout is empty, the job fails with an error message.

This ensures that the websocket connection test actually received
data from the server before considering the test successful.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
Wrap the test command in quotes to fix YAML schema validation error.
The command now properly parses as a string according to GitLab CI YAML schema.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
Added debugging steps to diagnose why wscat output is empty:
- Check if ostserver process is running
- Check if port 9624 is listening
- Capture server logs to stdout.log
- Show wscat output size before test validation
- Redirect wscat stderr to stdout for better visibility

This will help identify whether the issue is with server startup,
port binding, or wscat connection/output.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
Wrap commands containing pipes in double quotes to comply with
GitLab CI YAML schema requirements. This fixes the validation error
for commands like 'ps aux | grep' and 'netstat | grep'.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
Replace complex inline script with a heredoc that creates test.sh file.
This avoids YAML schema validation errors with pipes and special characters.

The test script handles:
- Server startup with logging
- Process and port validation
- wscat connection testing
- Output validation with proper error handling

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
Remove heredoc syntax and replace with simple one-command-per-line approach.
Each script line is now a separate YAML list item.

Added || true to netstat grep to prevent job failure if port not found.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
…ging

- Replace netstat (not available) with ss command
- Remove stdout redirection from wscat to see live output in CI logs
- This will help identify why wscat is not receiving server responses

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
Remove port checking and artifact validation.
Focus on what wscat actually outputs to help debug the connection issue.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
- Capture le PID du serveur pour nettoyage propre
- Affiche 50 lignes de logs au lieu de 20 pour plus de contexte
- Change l'artifact de 'stdout' inexistant à 'server.log' réel
- Ajoute un grep -v grep pour éviter de capturer la ligne grep elle-même
- Ajoute une gestion d'erreur douce si curl échoue

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Installe wscat via npm dans before_script
- Envoie le message {"evt":"Freadall"} attendu par le serveur
- Capture la réponse WebSocket dans ws.log avec timeout de 5 secondes
- Affiche la réponse WebSocket et les logs du serveur pour débogage
- Ajoute ws.log aux artifacts pour analyse ultérieure

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Affiche la version de wscat pour vérifier qu'il est installé
- Utilise tee pour afficher ET enregistrer la sortie de wscat en temps réel
- Affiche le code de sortie de wscat pour détecter les erreurs
- Augmente le timeout à 10 secondes
- Affiche le fichier ws.log complet après l'exécution

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
gehelem and others added 20 commits November 9, 2025 17:16
- Supprimer la ligne 'echo \$?' qui causait une erreur de parsing YAML
- Ajouter || true à wscat pour éviter que le job échoue
- Garder wscat --version et les autres diagnostics

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Utilise la libraire 'ws' de Node.js au lieu de wscat
- Crée un script test_ws.js qui se connecte et envoie le message
- Affiche les erreurs de connexion et timeout
- Plus transparent sur ce qui se passe réellement
- Timeout de 5 secondes pour ne pas bloquer

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Remplacer le heredoc par une commande node -e inline valide
- Tout le code JavaScript tient sur une seule ligne pour respecter le YAML
- Garder la même logique de test (connect, send, wait for response)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Utiliser les simples guillemets pour la commande node -e
- Utiliser les doubles guillemets à l'intérieur du code JavaScript
- Élimine les erreurs de parsing YAML

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Créer test-ws.js avec la logique de test WebSocket
- Simplifier .gitlab-ci.yml en appelant le script existant
- Élimine les problèmes de syntaxe YAML avec les commandes trop longues
- Plus maintenable et lisible

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Utiliser data.toString() pour afficher la réponse lisible
- Précédemment affichait l'hexadécimal du Buffer
- Maintenant affiche le JSON reçu du serveur

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
…5 secondes

- Enregistrer tous les messages reçus sans fermer après le premier
- Garder la connexion ouverte pendant 15 secondes
- Afficher le nombre total de messages reçus
- Permet de voir la communication complète du serveur

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Si aucun message n'est reçu, le script échoue avec exit code 1
- Affiche un message d'erreur clair
- Le job de test en CI échouera si le serveur ne répond pas

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
test

See merge request gilles/OST!162
Le problème: install/ contient déjà usr/bin/, usr/lib/, etc.
Quand on faisait cp -r install/* ${DEB_NAME}/usr/, on se retrouvait
avec ${DEB_NAME}/usr/usr/bin/ au lieu de ${DEB_NAME}/usr/bin/.

Solution: Copier directement install/. vers ${DEB_NAME}/
pour obtenir la bonne structure:
- ${DEB_NAME}/usr/bin/
- ${DEB_NAME}/usr/lib/
- ${DEB_NAME}/usr/include/
- etc.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
190 basemodule updown inversion

See merge request gilles/OST!163
this was missing

See merge request gilles/OST!164
@gehelem gehelem merged commit 71b869a into main Nov 15, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant