Refine docs and workflow triggers
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user