Python tox in GitHub Actions

Python tox in GitHub Actions

Wenn man mit dem Pythonprojekt tox Unittests durchführt, dann muss die Maschine, auf der die Unittests ausgeführt werden, mehrere Pythoninstallationen installiert haben. In GithHub Actions kann man die Tests auch auf verschiedenen Runnern laufen lassen, von denen jeder Runner eine andere Pythonversion installiert hat. Dazu kann man die Matrix-Strategie in GitHub verwenden. Das kann dann z.B. folgendermaßen aussehen: name: Run python tests on: push: branches: [ ‘**’ ] paths: [ ‘**’ ] pull_request: branches: [ ‘**’ ] paths: [ ‘**’…

Weiterlesen Weiterlesen

Mit InnoSetup eine weitere Datei abfragen

Mit InnoSetup eine weitere Datei abfragen

Die Aufgabe ist folgende: Während der Installation einer Software soll der User eine weitere Datei angeben. Es kann verschiedene Gründe geben, warum der Nutzer schon zu Installationszeiten eine Datei angeben soll. Das Setup kann den User z.B. nach einer vorhandenen Lizenzdatei fragen. In diesem Post will ich zeigen wie man in InnoSetup ein Fenster der Installation hinzufügen kann, das nach einer solchen Datei fragt. Dabei lasse ich offen, was mit der Datei anschließend passieren soll. Als erstes muss dafür gesorgt…

Weiterlesen Weiterlesen

Erste Schritte mit Python tox

Erste Schritte mit Python tox

tox ist ein Projekt, mit dem man Unittests gegen verschiedenen Python-Versionen mit einfachen Schritten ausführen kann. Um das zu erreichen, werden ein paar Konfigurationsdateien benötigt. Doch um tox für ein Projekt ausführen zu können, muss tox erst einmal installiert sein: pip install tox Ist tox installiert, braucht das Python-Projekt, das tox nutzen will, folgende Dateien: Eine pyproject.toml oder setup.py tox.ini In diesem Post möchte ich zeigen, wie man das mit einer setup.py realisiert. Die setup.py ist eine Datei, die sich…

Weiterlesen Weiterlesen

Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY)

Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY)

Ich hatte einen Fall bei dem ich ein Projekt mit cmake gebaut habe und diese Fehlermeldung gleich am Anfang kam: Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY) Lösung Die Lösung dafür war die, dass ich den cmake-Befehl anpassen musste: cmake -G “Unix Makefiles” -DGTEST_INCLUDE_DIR=thirdparty/googletest/googletest/include \ -DGTEST_LIBRARY=thirdparty/googletest/lib/libgtest.a \ -DGTEST_MAIN_LIBRARY=thirdparty/googletest/lib/libgtest_main.a .

Robot Plugin in Jenkins installieren

Robot Plugin in Jenkins installieren

Das Robot Plugin dient dazu, Tests, die mit dem Robot Framework erstellt wurden, in Jenkins zu integrieren. In diesem Post möchte ich kurz zeigen, wie man das Plugin unter Jenkins installiert. Wenn man in Jenkins angemeldet ist, klickt man den Link auf der linken Seite Jenkins verwalten und klickt anschließend den Button Plugins verwalten. Hat man die Seite Plugins verwalten geöffnet, wechselt man in Tab Verfügbar. Dieser Tab listet alle verfügbaren Plugins auf. In der Suchmaske darüber gibt man anschließend…

Weiterlesen Weiterlesen

rJava unter CentOS 7 installieren

rJava unter CentOS 7 installieren

Um rJava unter CentOS 7 zu installieren, benötigt man zuerst das Paket R. Das kann durch folgenden Befehl installiert werden: sudo yum install R Ist R installiert, kann man rJava installieren. Dafür startet man R mit sudo Rechten und installiert anschließen rJava: sudo R install.packages(c(‘rJava’)) Während der Installation wird man noch gefragt, aus welcher Quelle das Paket installiert werden soll. Hat man eine Quelle ausgewählt (eine der vorgeschlagenen Zahlen eintippen und auf Enter drücken), beginnt schon die Installation. Ist die…

Weiterlesen Weiterlesen

Jenkins – Job erst starten wenn 4 Agenten frei sind

Jenkins – Job erst starten wenn 4 Agenten frei sind

Vor kurzem gab es eine interessante Aufgabe: Die Aufgabe war, erst dann einen Job zu starten, wenn eine bestimmte Anzahl an Agenten mit einem bestimmten Label frei sind. Beispiel: Man möchte nur dann einen Job starten, wenn 4 Agenten mit dem Label generic frei sind. Meine Lösung hierzu wäre diese gewesen: Man erstellt einen neuen Job, der ein Groovy Skript ausführt (Execute system Groovy script). Dieses Skript geht alle Agenten durch, prüft, ob die ein bestimmtes Label haben und wenn…

Weiterlesen Weiterlesen

tar und curl unter Windows

tar und curl unter Windows

Seit Windows 10 Buildnummer 17063 kann man unter Windows die Befehle tar und curl benutzen. Um zu überprüfen, ob Windows entsprechend aktuell ist, kann man in PowerShell folgenden Befehl eingeben Get-WmiObject Win32_OperatingSystem In den ausgegebenen Informationen kann man dann die Buildnummer herausfinden.

fatal: empty string is not a valid pathspec. please use . instead if you meant to match all paths

fatal: empty string is not a valid pathspec. please use . instead if you meant to match all paths

Vor kurzem bekam ich bei einem git-Befehl diese Fehlermeldung fatal: empty string is not a valid pathspec. please use . instead if you meant to match all paths Grund für die Fehlermeldung war dass ich einen git-Befehl wie diesen ausgeführt habe git rev-list –count ” Nach ein bisschen suchen kam ich auf den Grund der Fehlermeldung An empty string as a pathspec element that means “everything” i.e. ‘git add “”‘, is now illegal. We started this by first deprecating and…

Weiterlesen Weiterlesen