diff --git a/.github/workflows/build-deb.yml b/.github/workflows/build-deb.yml new file mode 100644 index 0000000..1cb248c --- /dev/null +++ b/.github/workflows/build-deb.yml @@ -0,0 +1,46 @@ +name: Build Wheels + +on: + workflow_dispatch: # <-- Nur manuell über GitHub auslösbar + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: 🛒 Checkout Repository + uses: actions/checkout@v4 + + - name: 🐍 Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" # Deine Python-Version anpassen + + - name: 📦 Install Poetry + run: | + curl -sSL https://install.python-poetry.org | python3 - + echo "$HOME/.local/bin" >> $GITHUB_PATH # Poetry ins PATH einfügen + + - name: 🔧 Install Project Dependencies + run: | + poetry install + + - name: 📝 Export requirements.txt + run: | + poetry export --without-hashes --format=requirements.txt > requirements.txt + + - name: 📥 Download wheels for dependencies + run: | + mkdir -p dist/wheels + pip install wheel + pip download --only-binary=:all: --dest dist/wheels -r requirements.txt + + - name: 🛠 Build own wheel + run: | + poetry build -f wheel + + - name: 📤 Upload dist/ artifacts + uses: actions/upload-artifact@v4 + with: + name: dist + path: dist/ diff --git a/pyproject.toml b/pyproject.toml index e46f354..b26f7b8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,9 +5,7 @@ description = "Flexible FPGA Build System" authors = ["0xMax42 "] license = "MIT" readme = "README.md" -packages = [ - { include = "hdlbuild", from = "src" } -] +packages = [{ include = "hdlbuild", from = "src" }] [tool.poetry.scripts] hdlbuild = "hdlbuild.cli:main" @@ -20,6 +18,9 @@ pydantic = "^2.11.3" rich = "^14.0.0" gitpython = "^3.1.44" +[tool.poetry.requires-plugins] +poetry-plugin-export = ">=1.8" + [build-system] requires = ["poetry-core"]