From c2c8f2cd2f2882036f91c32e3f0d60467f179fce Mon Sep 17 00:00:00 2001 From: Oskar Manhart <52569953+oskardotglobal@users.noreply.github.com> Date: Tue, 22 Jul 2025 13:47:31 +0200 Subject: [PATCH] feat: add OCB --- .forgejo/workflows/ocb.yaml | 70 +++++++++++++++++++++++++++++++++++++ OCB/pyproject.toml | 19 ++++++++++ 2 files changed, 89 insertions(+) create mode 100644 .forgejo/workflows/ocb.yaml create mode 100644 OCB/pyproject.toml diff --git a/.forgejo/workflows/ocb.yaml b/.forgejo/workflows/ocb.yaml new file mode 100644 index 0000000..098f49e --- /dev/null +++ b/.forgejo/workflows/ocb.yaml @@ -0,0 +1,70 @@ +name: Build OCB + +on: + workflow_dispatch: + schedule: + - cron: "0 10 * * 0" + push: + branches: ["main"] + paths: [".forgejo/workflows/ocb.yaml", "OCB/**/*"] + +env: + REPOSITORY_URL: https://cmwedding-bot:${{ secrets.FORGEJO_TOKEN }}@git.weddingfactory.eu/api/packages/cmwedding/pypi + ODOO_VERSION: "17.0" + +jobs: + check-version-exists: + runs-on: ubuntu-latest + + outputs: + version: ${{ steps.check.outputs.version }} + + steps: + - id: check + uses: https://git.weddingfactory.eu/cmwedding/wheels@db08fe9c91ca9dcaa6c2d3173927ecd76e67bb14 + with: + pypi-base-url: ${{ env.REPOSITORY_URL }} + pypi-package: odoo + github-repository: "OCA/OCB" + unstable-branch: ${{ env.ODOO_VERSION }} + + build: + name: Build wheels on ${{ matrix.os }} + + needs: check-version-exists + if: needs.check-version-exists.outputs.version != '' + + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest] + + steps: + - run: git clone --depth=1 https://github.com/OCA/OCB --branch ${{ env.ODOO_VERSION }} . + + - name: Patch source + run: | + wget "https://git.weddingfactory.eu/cmwedding/wheels/raw/branch/main/OCB/pyproject.toml" + sed -i 's/%s/${{ env.ODOO_VERSION }}/' pyproject.toml + + - name: Build wheels + uses: https://github.com/pypa/cibuildwheel@v2.23.3 + env: + CIBW_BEFORE_ALL_LINUX: | + pip3 install \ + -i "${{ env.REPOSITORY_URL }}" \ + --trusted-host git.weddingfactory.eu \ + psycopg2 \ + pycairo + CIBW_BUILD: "cp31{0..1}-manylinux_{x86_64,aarch64}" + CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28 + CIBW_MANYLINUX_AARCH64_IMAGE: manylinux_2_28 + + - name: Publish package distributions to Forgejo + run: | + pip3 install twine + python3 -m twine upload ./wheelhouse/* + env: + TWINE_REPOSITORY_URL: ${{ env.REPOSITORY_URL }} + TWINE_NON_INTERACTIVE: 1 + diff --git a/OCB/pyproject.toml b/OCB/pyproject.toml new file mode 100644 index 0000000..e352e4a --- /dev/null +++ b/OCB/pyproject.toml @@ -0,0 +1,19 @@ +[project] +name = "odoo" +version = "%s" +dynamic = [ + "optional-dependencies", + "dependencies", + "classifiers", + "authors", + "license", + "requires-python", + "readme", + "description" +] + +[build-system] +requires = ["setuptools>=41"] +build-backend = "pep517_odoo" +backend-path = ["setup"] +