Refine docs and workflow triggers

This commit is contained in:
2026-06-21 14:31:43 +02:00
parent bbcaf70b40
commit 43e3ece54b
2 changed files with 15 additions and 19 deletions
-3
View File
@@ -1,9 +1,6 @@
name: build-mesa-git name: build-mesa-git
on: on:
push:
branches:
- main
schedule: schedule:
- cron: "0 3 */3 * *" - cron: "0 3 */3 * *"
workflow_dispatch: workflow_dispatch:
+15 -16
View File
@@ -1,6 +1,6 @@
# mesa-repo # mesa-repo
Dieses Repo baut per Gitea Actions ein eigenstaendiges `mesa-git`-Paket als `.deb`. Dieses Repo baut per Gitea Actions ein eigenständiges `mesa-git`-Paket als `.deb`.
Das Paket installiert Mesa separat unter `/opt/mesa-git`, damit es parallel zur Das Paket installiert Mesa separat unter `/opt/mesa-git`, damit es parallel zur
System-Mesa genutzt werden kann. System-Mesa genutzt werden kann.
@@ -13,7 +13,7 @@ System-Mesa genutzt werden kann.
## Build-Profil ## Build-Profil
Standardmaessig baut das Repo Mesa fuer: Standardmäßig baut das Repo Mesa für:
- `wayland` - `wayland`
@@ -25,26 +25,26 @@ Und mit diesem Treiberprofil:
- Fallback: `zink`, `llvmpipe`, `softpipe` - Fallback: `zink`, `llvmpipe`, `softpipe`
- Vulkan: `amd`, `intel`, `intel_hasvk`, `nouveau`, `swrast` - Vulkan: `amd`, `intel`, `intel_hasvk`, `nouveau`, `swrast`
Zusammen mit einem aktuellen `libdrm`-Snapshot, damit neue Mesa-Staende nicht an Zusammen mit einem aktuellen `libdrm`-Snapshot, damit neue Mesa-Stände nicht an
zu alten Distributionspaketen scheitern. zu alten Distributionspaketen scheitern.
## Ablauf ## Ablauf
1. Gitea Actions startet auf dem `act_runner`. 1. Gitea Actions startet auf dem `act_runner`.
2. `scripts/build-mesa-opt.sh` klont `libdrm` und Mesa direkt von Upstream. 2. `scripts/build-mesa-opt.sh` klont `libdrm` und Mesa direkt von Upstream.
3. `libdrm` wird zuerst gebaut und in das spaetere Prefix vorbereitet. 3. `libdrm` wird zuerst gebaut und in das spätere Prefix vorbereitet.
4. Mesa wird danach mit Meson/Ninja gebaut. 4. Mesa wird danach mit Meson/Ninja gebaut.
5. Das Ergebnis wird als `.deb` paketiert. 5. Das Ergebnis wird als `.deb` paketiert.
6. Ein Gitea Release wird erstellt oder aktualisiert. 6. Ein Gitea Release wird erstellt oder aktualisiert.
7. Das `.deb` wird als Release-Asset hochgeladen. 7. Das `.deb` wird als Release-Asset hochgeladen.
8. Die Release-Notes werden automatisch aus der Mesa-Upstream-History erzeugt. 8. Die Release-Notes werden automatisch aus der Mesa-Upstream-History erzeugt.
9. Ein apt-kompatibler Repo-Baum wird auf den Branch `apt` veroeffentlicht. 9. Ein apt-kompatibler Repo-Baum wird auf den Branch `apt` veröffentlicht.
## Release-Notes ## Release-Notes
Die Release-Notes werden automatisch erzeugt und enthalten: Die Release-Notes werden automatisch erzeugt und enthalten:
- eigene Repo-Commits fuer dieses Release - eigene Repo-Commits für dieses Release
- den verwendeten Mesa-Upstream-Commit - den verwendeten Mesa-Upstream-Commit
- das gebaute Paket - das gebaute Paket
- die Mesa-Commits seit dem vorherigen `mesa-git`-Release - die Mesa-Commits seit dem vorherigen `mesa-git`-Release
@@ -55,13 +55,12 @@ Die beiden Bereiche werden getrennt dargestellt:
- `Mesa Upstream` - `Mesa Upstream`
Wenn kein vorheriger passender Release-Vergleich gefunden wird, nutzt der Workflow Wenn kein vorheriger passender Release-Vergleich gefunden wird, nutzt der Workflow
als Fallback die juengsten Upstream-Commits. als Fallback die jüngsten Upstream-Commits.
## Trigger ## Trigger
Der Workflow laeuft bei: Der Workflow läuft bei:
- Push auf `main`
- manuellem Start per `workflow_dispatch` - manuellem Start per `workflow_dispatch`
- automatischem Zeitplan alle 3 Tage - automatischem Zeitplan alle 3 Tage
@@ -69,10 +68,10 @@ Releases werden als normale Releases angelegt, nicht als Pre-Releases.
## APT-Einbindung ## APT-Einbindung
Der Workflow veroeffentlicht zusaetzlich einen einfachen Debian-Repo-Baum auf Der Workflow veröffentlicht zusätzlich einen einfachen Debian-Repo-Baum auf
dem Branch `apt`. dem Branch `apt`.
Die Einbindung ist dann ueber die Raw-URL des Branches moeglich, zum Beispiel: Die Einbindung ist dann über die Raw-URL des Branches möglich, zum Beispiel:
```text ```text
deb [trusted=yes] https://git.mp-mueller.de/magges/mesa-repo/raw/branch/apt stable main deb [trusted=yes] https://git.mp-mueller.de/magges/mesa-repo/raw/branch/apt stable main
@@ -88,8 +87,8 @@ sudo apt install mesa-git
Hinweis: Hinweis:
- das Repo ist aktuell unsigniert - das Repo ist aktuell unsigniert
- fuer APT wird deshalb hier `trusted=yes` verwendet - für APT wird deshalb hier `trusted=yes` verwendet
- wenn du willst, kann ich als naechsten Schritt auch noch Release-Signierung mit GPG einbauen - wenn du willst, kann ich als nächsten Schritt auch noch Release-Signierung mit GPG einbauen
## Wichtige Dateien ## Wichtige Dateien
@@ -101,19 +100,19 @@ Hinweis:
## Benutzung ## Benutzung
Nach der Installation kann das Paket ueber den Wrapper genutzt werden: Nach der Installation kann das Paket über den Wrapper genutzt werden:
```bash ```bash
mesa-git-env glxinfo mesa-git-env glxinfo
mesa-git-env vkcube mesa-git-env vkcube
``` ```
Der Wrapper setzt die noetigen Mesa-Pfade fuer `LD_LIBRARY_PATH`, Der Wrapper setzt die nötigen Mesa-Pfade für `LD_LIBRARY_PATH`,
`LIBGL_DRIVERS_PATH`, `VK_LAYER_PATH` und `VK_ICD_FILENAMES`. `LIBGL_DRIVERS_PATH`, `VK_LAYER_PATH` und `VK_ICD_FILENAMES`.
## Lokaler Test ## Lokaler Test
Mit installierten Build-Abhaengigkeiten: Mit installierten Build-Abhängigkeiten:
```bash ```bash
./scripts/build-mesa-opt.sh ./scripts/build-mesa-opt.sh