Merged
Conversation
- 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>
- 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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.