From 8fa5915870f4e2e9a21b8deef148a0bb35a14d53 Mon Sep 17 00:00:00 2001
From: Pavel Kulyov <kulyov.pavel@gmail.com>
Date: Sat, 4 Jan 2025 18:24:53 +0300
Subject: [PATCH] Update workflows

---
 .github/workflows/build.yaml | 60 ++++++++++--------------------------
 1 file changed, 17 insertions(+), 43 deletions(-)

diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 05e5f75..5d3a525 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -14,24 +14,16 @@ jobs:
       - uses: actions/checkout@v2
       - uses: actions/setup-python@v1
         with:
-          python-version: 3.9
+          python-version: 3.11
 
-      - name: install Poetry
-        uses: snok/install-poetry@v1
-        with:
-          version: 1.2.0a2
-          virtualenvs-in-project: true
+      - name: astral-sh/setup-uv
+        uses: astral-sh/setup-uv@v5.1.0
 
       - name: install dependencies
-        run: poetry install
-
-      # - name: install exec plugin
-      #   run: poetry plugin add poetry-exec-plugin
+        run: uv sync --all-extras
 
-      # - name: build for linux
-      #   run: poetry exec build-linux
-      - name: build for linux TODO FIXME
-        run: "poetry run pyinstaller --onedir --noconsole --noconfirm --clean --workpath .temp --distpath build/linux --name thetanki --additional-hooks-dir pyinstaller-hooks --add-data 'tanki/game.hy:tanki' --add-data 'tanki/background.hy:tanki' --add-data 'tanki/player.hy:tanki' --add-data 'tanki/level.hy:tanki' --add-data 'tanki/common.hy:tanki' --add-data 'tanki/obstacles.hy:tanki' --add-data 'tanki/ui.hy:tanki' --add-data 'assets:assets' --collect-all raylib --collect-all pyray tanki/__main__.py"
+      - name: build for linux
+        run: uv run poe build-linux
 
       # - name: make archive
       #   run: |
@@ -64,25 +56,16 @@ jobs:
       - uses: actions/checkout@v2
       - uses: actions/setup-python@v1
         with:
-          python-version: 3.9
+          python-version: 3.11
 
-      - name: install Poetry
-        uses: snok/install-poetry@v1
-        with:
-          version: 1.2.0a2
-          virtualenvs-in-project: true
+      - name: astral-sh/setup-uv
+        uses: astral-sh/setup-uv@v5.1.0
 
       - name: install dependencies
-        run: poetry install
-
-      # TODO: failed
-      # - name: install exec plugin
-      #   run: poetry plugin add poetry-exec-plugin
-
-      #   run: poetry exec build-windows
+        run: uv sync --all-extras
 
       - name: build for windows
-        run: "poetry run pyinstaller --onedir --noconsole --noconfirm --clean --workpath .temp --distpath build/windows --name thetanki --additional-hooks-dir pyinstaller-hooks --add-data 'tanki/game.hy;tanki' --add-data 'tanki/background.hy;tanki' --add-data 'tanki/player.hy;tanki' --add-data 'tanki/level.hy;tanki' --add-data 'tanki/common.hy;tanki' --add-data 'tanki/obstacles.hy;tanki' --add-data 'tanki/ui.hy;tanki' --add-data 'assets;assets' --collect-all raylib --collect-all pyray tanki/__main__.py"
+        run: uv run poe build-windows
 
       # - name: make archive
       #   run: |
@@ -110,25 +93,16 @@ jobs:
       - uses: actions/checkout@v2
       - uses: actions/setup-python@v1
         with:
-          python-version: 3.9
+          python-version: 3.11
 
-      - name: install Poetry
-        uses: snok/install-poetry@v1
-        with:
-          version: 1.2.0a2
-          virtualenvs-in-project: true
+      - name: astral-sh/setup-uv
+        uses: astral-sh/setup-uv@v5.1.0
 
       - name: install dependencies
-        run: poetry install
-
-      # TODO: fixme
-      # - name: install exec plugin
-      #   run: poetry plugin add poetry-exec-plugin
+        run: uv sync --all-extras
 
-      # - name: build for macos
-      #   run: poetry exec build-macos
-      - name: build for macos TODO FIXME
-        run: "poetry run pyinstaller --onedir --noconsole --noconfirm --clean --workpath .temp --distpath build/macos --name thetanki --additional-hooks-dir pyinstaller-hooks --add-data 'tanki/game.hy:tanki' --add-data 'tanki/background.hy:tanki' --add-data 'tanki/player.hy:tanki' --add-data 'tanki/level.hy:tanki' --add-data 'tanki/common.hy:tanki' --add-data 'tanki/obstacles.hy:tanki' --add-data 'tanki/ui.hy:tanki' --add-data 'assets:assets' --collect-all raylib --collect-all pyray tanki/__main__.py"
+      - name: build for macos
+        run: uv run poe build-macos
 
       - name: rename out dir
         run: mv build/macos/thetanki build/macos/tanki-macos