From c057e79f17a48e4c3e6b1e7710dc2534142e7498 Mon Sep 17 00:00:00 2001 From: Bruno Postle Date: Fri, 27 Mar 2026 09:08:56 +0000 Subject: [PATCH] ifcquery, ifcedit, ifcmcp: add Makefiles and PyPI publish workflows These three packages were added to src/ but lacked the Makefile needed by common.mk to build distribution wheels, and the GitHub Actions workflow to publish them to PyPI. Adds make dist / make test / make qa targets and ci-*-pypi.yaml workflows matching the pattern used by ifcpatch, ifcclash, etc. --- .github/workflows/ci-ifcedit-pypi.yaml | 35 +++++++++++++++++++++++++ .github/workflows/ci-ifcmcp-pypi.yaml | 35 +++++++++++++++++++++++++ .github/workflows/ci-ifcquery-pypi.yaml | 35 +++++++++++++++++++++++++ src/ifcedit/Makefile | 10 +++++++ src/ifcmcp/Makefile | 10 +++++++ src/ifcquery/Makefile | 10 +++++++ 6 files changed, 135 insertions(+) create mode 100644 .github/workflows/ci-ifcedit-pypi.yaml create mode 100644 .github/workflows/ci-ifcmcp-pypi.yaml create mode 100644 .github/workflows/ci-ifcquery-pypi.yaml create mode 100644 src/ifcedit/Makefile create mode 100644 src/ifcmcp/Makefile create mode 100644 src/ifcquery/Makefile diff --git a/.github/workflows/ci-ifcedit-pypi.yaml b/.github/workflows/ci-ifcedit-pypi.yaml new file mode 100644 index 0000000000..d961c72f56 --- /dev/null +++ b/.github/workflows/ci-ifcedit-pypi.yaml @@ -0,0 +1,35 @@ +name: ci-ifcedit-pypi + +on: + workflow_dispatch: + +jobs: + activate: + runs-on: ubuntu-latest + if: | + github.repository == 'IfcOpenShell/IfcOpenShell' + steps: + - name: Set env + run: echo ok go + + build: + needs: activate + runs-on: ubuntu-latest + strategy: + fail-fast: false + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 + with: + python-version: '3.11' + - name: Compile + run: | + pip install build + cd src/ifcedit && + make dist IS_STABLE=TRUE + - name: Publish a Python distribution to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + user: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} + packages_dir: src/ifcedit/dist diff --git a/.github/workflows/ci-ifcmcp-pypi.yaml b/.github/workflows/ci-ifcmcp-pypi.yaml new file mode 100644 index 0000000000..f1e474b9b9 --- /dev/null +++ b/.github/workflows/ci-ifcmcp-pypi.yaml @@ -0,0 +1,35 @@ +name: ci-ifcmcp-pypi + +on: + workflow_dispatch: + +jobs: + activate: + runs-on: ubuntu-latest + if: | + github.repository == 'IfcOpenShell/IfcOpenShell' + steps: + - name: Set env + run: echo ok go + + build: + needs: activate + runs-on: ubuntu-latest + strategy: + fail-fast: false + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 + with: + python-version: '3.11' + - name: Compile + run: | + pip install build + cd src/ifcmcp && + make dist IS_STABLE=TRUE + - name: Publish a Python distribution to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + user: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} + packages_dir: src/ifcmcp/dist diff --git a/.github/workflows/ci-ifcquery-pypi.yaml b/.github/workflows/ci-ifcquery-pypi.yaml new file mode 100644 index 0000000000..9dc39a9304 --- /dev/null +++ b/.github/workflows/ci-ifcquery-pypi.yaml @@ -0,0 +1,35 @@ +name: ci-ifcquery-pypi + +on: + workflow_dispatch: + +jobs: + activate: + runs-on: ubuntu-latest + if: | + github.repository == 'IfcOpenShell/IfcOpenShell' + steps: + - name: Set env + run: echo ok go + + build: + needs: activate + runs-on: ubuntu-latest + strategy: + fail-fast: false + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 + with: + python-version: '3.11' + - name: Compile + run: | + pip install build + cd src/ifcquery && + make dist IS_STABLE=TRUE + - name: Publish a Python distribution to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + user: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} + packages_dir: src/ifcquery/dist diff --git a/src/ifcedit/Makefile b/src/ifcedit/Makefile new file mode 100644 index 0000000000..114e5f9ddc --- /dev/null +++ b/src/ifcedit/Makefile @@ -0,0 +1,10 @@ +PACKAGE_NAME:=ifcedit +include ../common.mk + +.PHONY: test +test: + pytest tests + +.PHONY: qa +qa: + black . diff --git a/src/ifcmcp/Makefile b/src/ifcmcp/Makefile new file mode 100644 index 0000000000..3dbcbb4e93 --- /dev/null +++ b/src/ifcmcp/Makefile @@ -0,0 +1,10 @@ +PACKAGE_NAME:=ifcmcp +include ../common.mk + +.PHONY: test +test: + pytest tests + +.PHONY: qa +qa: + black . diff --git a/src/ifcquery/Makefile b/src/ifcquery/Makefile new file mode 100644 index 0000000000..f77132db5e --- /dev/null +++ b/src/ifcquery/Makefile @@ -0,0 +1,10 @@ +PACKAGE_NAME:=ifcquery +include ../common.mk + +.PHONY: test +test: + pytest tests + +.PHONY: qa +qa: + black .