Skip to content
This repository has been archived by the owner on Jul 9, 2024. It is now read-only.

Upload new builds as gh release #90

Merged
merged 4 commits into from
May 25, 2021
Merged

Conversation

lukasbach
Copy link
Contributor

Ich schlage mal eine Änderung des Release-Prozesses vor, um die Zahl der Commits und die Größe des Repositories etwas überschaubarer zu halten :D

Gebt Bescheid wenn ich noch was ändern soll. Falls ihr den alten Prozess besser fandet, kann ich auch eine Ablehnung verstehen.

Meine Änderung entfernt den dist-Ordner aus dem repo, und ersetzt die alten Github action workflows mit zwei neuen Workflows:

  • build: Baut in parallelen Containern die Anwendung für Ubuntu und Windows, um Rückmeldung darüber zu liefern ob ein Commit baut oder nicht. Die pipeline wird durch jeden Commit getriggert.
  • deploy: Baut zuerst in parallelen Containern die Anwendung für Ubuntu und Windows, erstellt dann ein neues Github Release und veröffentlicht beide Anwendungen jeweils als gebündelte Zip-Dateien. Die pipeline wird durch Commits getriggert, die mit einem Tag im Format "v*" getaggt sind, zB. "v1.0.0".

Beispiel für ein Release: https://github.com/lukasbach/vaccipy/releases/tag/v1.0.0

Falls das eher gewünscht ist, kann ich die Pipeline auch anpassen, um bei jedem Commit auf master zu releasen, um den aktuellen Prozess eher abzubilden, ich persöhnlich finde es so aber besser da man so eher Kontroller über Releases hat.

@timreibe timreibe requested a review from JuliusJacobitz May 22, 2021 20:35
@timreibe
Copy link
Owner

oh krass, sehr cool. Wenn die Build-Prozesse weiterhin richtig laufen, können wir das gerne übernehmen.
könnten wir das zunächst im Beta-Branch testen, oder sind die Releases immer an den Master gebunden?

@lukasbach
Copy link
Contributor Author

Die Releases sind unabhängig vom Branch, der aktuelle Trigger ist nur der Tag. Dann müsste ich nur schauen dass ich den PR auf den beta Branch umbiege bzw. einen neuen PR gegen den Branch machen, soll ich das tun?

@timreibe
Copy link
Owner

Ich glaube das wäre gut. Vielleicht reicht es ja den target-branch direkt hier im PR zu ändern.
würde dann dennoch auf @JuliusJacobitz warten, er ist unser Build-Meister.

@lukasbach lukasbach changed the base branch from master to beta May 22, 2021 21:40
@JuliusJacobitz JuliusJacobitz self-assigned this May 23, 2021
Copy link
Collaborator

@JuliusJacobitz JuliusJacobitz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hab noch ein paar comments gemacht, wenn das noch geändert wird ists echt super :) 👍 Vielen Dank ! @lukasbach

.github/workflows/build.yaml Outdated Show resolved Hide resolved
.github/workflows/deploy.yaml Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
.github/workflows/build.yaml Show resolved Hide resolved
.github/workflows/deploy.yaml Show resolved Hide resolved
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Build Windows
run: pyinstaller --clean --noconfirm specs/windows-terminservice.spec --add-data "tools/cloudscraper;./cloudscraper/"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bitte den --add-data command in die .spec erstellung hinzufügen. (und in der Readme ändern). Damit kann dann auch der python code aus der .spec raus. Einfach nocheinmal die .spec mit dem --add-data command für tools/cloudscraper ausführen. (Linux und Win)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, kannst du das nochmal ausführen, ich verstehe nicht ganz was du meinst. Pyinstaller wird hier ja schon mit tools/cloudscraper ausgeführt, was genau soll hier noch geändert werden?

python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Build Windows
run: pyinstaller --clean --noconfirm specs/windows-terminservice.spec --add-data "tools/cloudscraper;./cloudscraper/"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bitte den --add-data command in die .spec erstellung hinzufügen. (und in der Readme ändern). Damit kann dann auch der python code aus der .spec raus. Einfach nocheinmal die .spec mit dem --add-data command für tools/cloudscraper ausführen. (Linux und Win)

das gleiche natürlich hier :)

@JuliusJacobitz JuliusJacobitz self-requested a review May 23, 2021 13:14
@Engelchen0711

This comment has been minimized.

@haslersn

This comment has been minimized.

@haslersn
Copy link
Contributor

Ich würde sagen es wird Zeit, hier voranzukommen. Mein .git-Ordner ist schon fast 300 MB groß.

@lukasbach
Copy link
Contributor Author

@JuliusJacobitz Vielen Dank für das Feedback. Bin aktuell mit einigem anderen beschäftigt und bin deswegen noch nicht dazu gekommen, bis spätestens morgen habe ich die Änderungen eingearbeitet.

@JuliusJacobitz
Copy link
Collaborator

JuliusJacobitz commented May 24, 2021

@lukasbach das passt :) reminder: es wird für Windows ein installer gebaut. Das kann dann als artifact verwendet werden. @haslersn ich hoffe deine Festplatte trägt das noch bis morgen :)

@lukasbach
Copy link
Contributor Author

lukasbach commented May 25, 2021

@lukasbach das passt :) reminder: es wird für Windows ein installer gebaut. Das kann dann als artifact verwendet werden.

@JuliusJacobitz Wo wird der Windows installer gebaut? Wenn ich pyinstaller mit der Windows spec ausführe, bekomme ich nur die entpackte app. Oder muss ich pyinstaller dafür anderst aufrufen?

@lukasbach
Copy link
Contributor Author

@JuliusJacobitz Habe die dokumentierenden Kommentare noch ergänzt, aber die Build logik noch nicht angepasst wegen der beiden Fragen die ich noch hatte. Kenne mich leider nicht so sehr mit dem Python Ökosystem und Pyinstaller aus 😅

@JuliusJacobitz
Copy link
Collaborator

JuliusJacobitz commented May 25, 2021

@lukasbach das passt :) reminder: es wird für Windows ein installer gebaut. Das kann dann als artifact verwendet werden.

@JuliusJacobitz Wo wird der Windows installer gebaut? Wenn ich pyinstaller mit der Windows spec ausführe, bekomme ich nur die entpackte app. Oder muss ich pyinstaller dafür anderst aufrufen?

Pyinstaller kann leider keine windows-installer bauen. Dafür wird im Moment "inno setup" verwendet. Der compiler führt das Script specs/windows-terminservice.iss aus, welches die distribution in einen Installer packt :)
Siehe hier; Zeile 54.

@lukasback kannst du das noch in die neuen workflows übernehmen und die conflicts lösen ? Gib gern bescheid wenn du noch Fragen hast :) Dann merge ich 👍

Edit: Oder soll ich das übernehmen ? :)

@lukasbach
Copy link
Contributor Author

Hab die Punkte noch ergänzt, müsste eigentlich passen jetzt, die pipeline scheint auch durchzulaufen. So sieht ein Release aus mit den Ergänzungen, da ist jetzt auch der Installer als Downloadable mitdrin: https://github.com/lukasbach/vaccipy/releases/tag/v1.0.1 @JuliusJacobitz gib Bescheid wenn noch was nicht stimmt.

@JuliusJacobitz
Copy link
Collaborator

@lukasbach viele Dank für den Beitrag 👍

@JuliusJacobitz JuliusJacobitz merged commit 1af421d into timreibe:beta May 25, 2021
@timreibe
Copy link
Owner

BIG UP! Danke an alle Beteiligten!!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants