Beschreibung
Für unseren Kunden, ein Softwareunternehmen, suchen wir externe Unterstützung im Rahmen der Portierung der Pipeline einer Compilerplattform (diese ist in gitflow hinterlegt) Codes von einer Windows- auf eine Linuxumgebung. Wichtig ist auch Erfahrung auf der "Ops-Seite" bzw. im Bereich CI/CD, da die Portierung im Vordergrund steht und weniger die Entwicklung.
Es besteht eine sehr gute Verlängerungsoption über den initialen Zeitraum hinaus gehend.
Der Einsatz kann bis zu 100% per Homeoffice erfolgen.
Ihre Aufgaben
Das Projekt ist in drei Hauptphasen unterteilt. Die erfolgreiche Abschluss der ersten beiden Phasen bringt bereits erheblichen Mehrwert:
1.Cross-Compilation Setup
Anpassung aller Abhängigkeiten (Conan-Rezepte) zur Unterstützung der Cross-Compilation unter Verwendung von clang-cl auf Linux (für Windows-Ziel).
Verwendung von xwin für Windows-Header und -Bibliotheken.
Sicherstellung der Kompatibilität mit der neuesten Ubuntu-Version unter Beibehaltung der Flexibilität für andere Distributionen mit entsprechenden Abhängigkeiten.
Anpassung der Python-Skripte für den Build- und Testprozess.
2. Codebase Refactoring für Clang-CL
Refaktorisierung des bestehenden Codebasis zur sauberen Kompilierung mit clang-cl.
Behebung aller Fehler, die vom Clang-Tidy Linter identifiziert wurden (Beispieljob: GitLab CI Job).
3. Testausführung unter Wine (Optional, aber bevorzugt)
Ausführung der bestehenden Tests unter Wine.
Untersuchung und Behebung von Problemen bei Tests, die fehlschlagen, entweder durch Anpassung der Wine-Kompatibilität oder durch entsprechende Anpassungen der Codebasis.
Lieferergebnisse:
Funktionsfähiges Cross-Compilation Setup mit Conan und clang-cl.
Refaktorisierte Codebasis, die sauber mit clang-cl kompiliert.
(Optional) Testsuite, die unter Wine läuft, mit dokumentierten Fixes.
Unsere Anforderungen
-Starke Erfahrung mit Conan (Erstellung und Anpassung von Rezepten für Cross-Compilation).
-Vertrautheit mit Artifactory (JFrog) für die Abhängigkeitsverwaltung.
-Beherrschung von Visual C++ und clang-cl Toolchains.
-C++ Code compilieren können/compiler bedienen können
-Windows und Linux affin sein (original läuft auf Windows und die neue Compilerplattform auf Linux)
-Solides Verständnis von Cross-Compilation Workflows auf Linux, die Windows zum Ziel haben.
-Erfahrung mit Python-Skripting (verwendet in Build- und CI-Pipelines).
-Vorerfahrung Cloud und Container (z. B. Kubernetes, Azure o. ä.)
nice to have:
-Vertrautheit mit Wine zur Ausführung von Windows-Binärdateien unter Linux ist von Vorteil.
-Gitflow (darin ist die pipeline integriert)
-Qt
Es besteht eine sehr gute Verlängerungsoption über den initialen Zeitraum hinaus gehend.
Der Einsatz kann bis zu 100% per Homeoffice erfolgen.
Ihre Aufgaben
Das Projekt ist in drei Hauptphasen unterteilt. Die erfolgreiche Abschluss der ersten beiden Phasen bringt bereits erheblichen Mehrwert:
1.Cross-Compilation Setup
Anpassung aller Abhängigkeiten (Conan-Rezepte) zur Unterstützung der Cross-Compilation unter Verwendung von clang-cl auf Linux (für Windows-Ziel).
Verwendung von xwin für Windows-Header und -Bibliotheken.
Sicherstellung der Kompatibilität mit der neuesten Ubuntu-Version unter Beibehaltung der Flexibilität für andere Distributionen mit entsprechenden Abhängigkeiten.
Anpassung der Python-Skripte für den Build- und Testprozess.
2. Codebase Refactoring für Clang-CL
Refaktorisierung des bestehenden Codebasis zur sauberen Kompilierung mit clang-cl.
Behebung aller Fehler, die vom Clang-Tidy Linter identifiziert wurden (Beispieljob: GitLab CI Job).
3. Testausführung unter Wine (Optional, aber bevorzugt)
Ausführung der bestehenden Tests unter Wine.
Untersuchung und Behebung von Problemen bei Tests, die fehlschlagen, entweder durch Anpassung der Wine-Kompatibilität oder durch entsprechende Anpassungen der Codebasis.
Lieferergebnisse:
Funktionsfähiges Cross-Compilation Setup mit Conan und clang-cl.
Refaktorisierte Codebasis, die sauber mit clang-cl kompiliert.
(Optional) Testsuite, die unter Wine läuft, mit dokumentierten Fixes.
Unsere Anforderungen
-Starke Erfahrung mit Conan (Erstellung und Anpassung von Rezepten für Cross-Compilation).
-Vertrautheit mit Artifactory (JFrog) für die Abhängigkeitsverwaltung.
-Beherrschung von Visual C++ und clang-cl Toolchains.
-C++ Code compilieren können/compiler bedienen können
-Windows und Linux affin sein (original läuft auf Windows und die neue Compilerplattform auf Linux)
-Solides Verständnis von Cross-Compilation Workflows auf Linux, die Windows zum Ziel haben.
-Erfahrung mit Python-Skripting (verwendet in Build- und CI-Pipelines).
-Vorerfahrung Cloud und Container (z. B. Kubernetes, Azure o. ä.)
nice to have:
-Vertrautheit mit Wine zur Ausführung von Windows-Binärdateien unter Linux ist von Vorteil.
-Gitflow (darin ist die pipeline integriert)
-Qt