Skip to content

Commit 5719c3d

Browse files
authored
Merge branch 'v0.8.0' into feat/IfcFixedReferenceSweptAreaSolid
2 parents 115d3d4 + 8903d6a commit 5719c3d

File tree

1,095 files changed

+34437
-12480
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,095 files changed

+34437
-12480
lines changed

.github/workflows/build_osx.yml

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,11 @@ jobs:
4444
brew update
4545
brew install git bison autoconf automake libffi cmake findutils
4646
echo "$(brew --prefix findutils)/libexec/gnubin" >> $GITHUB_PATH
47-
47+
48+
- name: Install aws cli
49+
run: |
50+
python -m pip install awscli
51+
4852
- name: Unpack Dependencies
4953
run: |
5054
install_root=$(find ./build -maxdepth 4 -name install)
@@ -117,20 +121,6 @@ jobs:
117121
aws-secret-access-key: ${{ secrets.AWS_UPLOAD_SECRET_ACCESS_KEY }}
118122
aws-region: us-east-1
119123

120-
- name: Overwrite aws cli
121-
run: |
122-
# Error: The `brew link` step did not complete successfully
123-
# The formula built, but is not symlinked into /usr/local
124-
# Could not symlink bin/idle3
125-
# Target /usr/local/bin/idle3
126-
# already exists. You may want to remove it:
127-
# rm '/usr/local/bin/idle3'
128-
#
129-
# To force the link and overwrite all conflicting files:
130-
# brew link --overwrite python@3.13
131-
# https://github.com/rust-lang/rustup/pull/3989/files
132-
brew install --overwrite awscli | true
133-
134124
- name: Upload .zip archives to S3
135125
run: |
136126
aws s3 cp ~/output s3://ifcopenshell-builds/ --recursive

.github/workflows/build_pyodide.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
with:
2020
submodules: recursive
2121
repository: pyodide/pyodide
22-
ref: '0.26.4'
22+
ref: '0.28.0a3'
2323
token: ${{ secrets.BUILD_REPO_TOKEN }}
2424
path: pyodide
2525

@@ -29,18 +29,18 @@ jobs:
2929
sed -i s/0.8.0/$VERSION/g IfcOpenShell/pyodide/meta.yaml
3030
sed -i s/0.8.0/$VERSION/g IfcOpenShell/pyodide/setup.py
3131
echo '#!/usr/bin/bash' > script.sh
32-
echo 'cd pyodide' > script.sh
33-
echo 'make && pip install ./pyodide-build' >> script.sh
32+
echo 'cd pyodide' >> script.sh
33+
echo 'make' >> script.sh
3434
echo 'cd ..' >> script.sh
3535
echo 'mkdir -p packages/ifcopenshell' >> script.sh
3636
echo 'cp IfcOpenShell/pyodide/meta.yaml packages/ifcopenshell' >> script.sh
3737
echo 'PYODIDE_ROOT=/src/pyodide \' >> script.sh
38-
echo 'PATH=/src/pyodide/emsdk/emsdk:/src/pyodide/emsdk/emsdk/node/20.18.0_64bit/bin:/src/pyodide/emsdk/emsdk/upstream/emscripten:$PATH \' >> script.sh
38+
echo 'PATH=/src/pyodide/emsdk/emsdk:/src/pyodide/emsdk/emsdk/node/22.16.0_64bit/bin:/src/pyodide/emsdk/emsdk/upstream/emscripten:$PATH \' >> script.sh
3939
echo 'pyodide build-recipes ifcopenshell --install' >> script.sh
4040
chmod +x script.sh
4141
sed -i s/--tty// pyodide/run_docker
4242
pyodide/run_docker ./script.sh
43-
mv dist/ifcopenshell-$VERSION-py3-none-any.whl dist/ifcopenshell-$VERSION+${GITHUB_SHA:0:7}-cp312-cp312-emscripten_3_1_58_wasm32.whl
43+
mv dist/ifcopenshell-$VERSION-py3-none-any.whl dist/ifcopenshell-$VERSION+${GITHUB_SHA:0:7}-cp313-cp313-emscripten_4_0_9_wasm32.whl
4444
4545
- name: Configure AWS credentials
4646
uses: aws-actions/configure-aws-credentials@v4

.github/workflows/build_rocky.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ jobs:
1616
bzip2 patch mesa-libGL-devel libffi-devel fontconfig-devel \
1717
sqlite-devel bzip2-devel zlib-devel openssl-devel xz-devel \
1818
readline-devel ncurses-devel libffi-devel libuuid-devel git-lfs \
19-
findutils
19+
findutils xz
20+
python3 -m pip install typing_extensions
2021
git config --global --add safe.directory '*'
2122
2223
- name: Install aws cli

.github/workflows/build_rocky_arm.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ jobs:
1616
bzip2 patch mesa-libGL-devel libffi-devel fontconfig-devel \
1717
sqlite-devel bzip2-devel zlib-devel openssl-devel xz-devel \
1818
readline-devel ncurses-devel libffi-devel libuuid-devel git-lfs \
19-
findutils
19+
findutils xz
20+
python3 -m pip install typing_extensions
2021
git config --global --add safe.directory '*'
2122
2223
- name: Install aws cli

.github/workflows/build_win.yml

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55

66
jobs:
77
build_ifcopenshell:
8-
runs-on: windows-2019
8+
runs-on: windows-2022
99
strategy:
1010
fail-fast: false
1111
matrix:
@@ -21,7 +21,7 @@ jobs:
2121
uses: actions/checkout@v3
2222
with:
2323
repository: IfcOpenShell/build-outputs
24-
path: _deps-vs2019-x64-installed
24+
path: _deps-vs2022-x64-installed
2525
ref: windows-${{ matrix.arch }}
2626
lfs: true
2727
token: ${{ secrets.BUILD_REPO_TOKEN }}
@@ -40,7 +40,7 @@ jobs:
4040
4141
- name: Unpack Dependencies
4242
run: |
43-
cd _deps-vs2019-x64-installed
43+
cd _deps-vs2022-x64-installed
4444
Get-ChildItem -Path . -Filter 'cache-*.zip' | ForEach-Object {
4545
7z x $_.FullName
4646
}
@@ -53,17 +53,17 @@ jobs:
5353
for /f "tokens=1,2,3 delims=." %%a in ("%PYTHON_VERSION%") do (
5454
set PY_VER_MAJOR_MINOR=%%a%%b
5555
)
56-
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
56+
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
5757
SET IFCOS_INSTALL_PYTHON=FALSE
5858
cd win
59-
echo y | call build-deps.cmd vs2019-x64 Release
59+
echo y | call build-deps.cmd vs2022-x64 Release
6060
SET PYTHONHOME=C:\Python\${{ matrix.python }}
61-
call run-cmake.bat vs2019-x64 -DENABLE_BUILD_OPTIMIZATIONS=On -DGLTF_SUPPORT=ON -DADD_COMMIT_SHA=ON -DVERSION_OVERRIDE=ON
62-
call install-ifcopenshell.bat vs2019-x64 Release
61+
call run-cmake.bat vs2022-x64 -DENABLE_BUILD_OPTIMIZATIONS=On -DGLTF_SUPPORT=ON -DADD_COMMIT_SHA=ON -DVERSION_OVERRIDE=ON
62+
call install-ifcopenshell.bat vs2022-x64 Release
6363
6464
- name: Pack Dependencies
6565
run: |
66-
cd _deps-vs2019-x64-installed
66+
cd _deps-vs2022-x64-installed
6767
Get-ChildItem -Path . -Directory | ForEach-Object {
6868
$cacheFile = "cache-$($_.Name).zip"
6969
echo $cacheFile
@@ -74,7 +74,7 @@ jobs:
7474
7575
- name: Commit and Push Changes to Build Repository
7676
run: |
77-
cd _deps-vs2019-x64-installed
77+
cd _deps-vs2022-x64-installed
7878
git config user.name "IfcOpenBot"
7979
git config user.email "ifcopenbot@ifcopenshell.org"
8080
git add *.zip
@@ -90,7 +90,7 @@ jobs:
9090
9191
if ("${{ matrix.python }}" -eq "3.9.11") {
9292
# only for the first python version the executables are assembled for upload
93-
cd _installed-vs2019-x64/bin
93+
cd _installed-vs2022-x64/bin
9494
Get-ChildItem -Path . | ForEach-Object {
9595
echo $_
9696
$exe = $_.Name
@@ -124,4 +124,7 @@ jobs:
124124
AWS_MAX_ATTEMPTS: 3
125125
run: |
126126
dir "$env:USERPROFILE\output"
127-
aws s3 cp "$env:USERPROFILE\output" s3://ifcopenshell-builds/ --recursive --debug
127+
foreach ($zip in Get-ChildItem -Path "$env:USERPROFILE\output" -Filter *.zip) {
128+
aws s3 cp "$($zip.FullName)" s3://ifcopenshell-builds/ --debug
129+
Start-Sleep -Seconds 5
130+
}

.github/workflows/ci-bcf-pypi.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
cd src/bcf &&
3535
make dist IS_STABLE=TRUE
3636
- name: Publish a Python distribution to PyPI
37-
uses: ortega2247/pypi-upload-action@master
37+
uses: pypa/gh-action-pypi-publish@release/v1
3838
with:
3939
user: __token__
4040
password: ${{ secrets.PYPI_API_TOKEN }}

.github/workflows/ci-black-formatting.yaml

Lines changed: 40 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@ on:
44
push:
55
pull_request:
66

7-
env:
8-
PYTHON_VERSION: "3.12"
9-
107
jobs:
118
lint-formatting:
129
runs-on: ubuntu-latest
@@ -17,57 +14,51 @@ jobs:
1714
- name: Action - install python
1815
uses: actions/setup-python@v5.3.0
1916
with:
20-
python-version: "${{ env.PYTHON_VERSION }}"
17+
python-version: "3.9"
2118

22-
- name: Step 1 - install dependencies
23-
shell: bash
24-
run: |
25-
python3 -m pip install --upgrade pip
26-
python3 -m pip install 'black>=24.10.0'
19+
- name: Action - install python
20+
uses: actions/setup-python@v5.3.0
21+
with:
22+
python-version: "3.11"
2723

28-
# NOTE: This would suffice, however it is less informative in terms of the 3 possible outcomes
29-
# - name: QA Step - check linting
30-
# shell: bash
31-
# id: linting
32-
# run: |
33-
# python3 -m black .
24+
- name: Install dependencies
25+
run: |
26+
curl -LsSf https://astral.sh/uv/install.sh | sh
27+
uv tool install ruff
28+
uv tool install black
3429
35-
# QA STEP
36-
- name: QA Step - check linting
37-
shell: bash
38-
id: linting
30+
# black doesn't catch all syntax errors, so we check them explicitly.
31+
- name: Check syntax errors
32+
id: syntax-errors
3933
run: |
40-
python3 -m black --check . \
41-
&& exit 0 \
42-
|| (echo "exit_code=$?" >> "$GITHUB_OUTPUT" && exit 1);
34+
ERROR=0
35+
python3.9 -W error -m compileall -q src/ifcopenshell-python || ERROR=1
36+
python3.11 -W error -m compileall -q src/bonsai || ERROR=1
37+
exit $ERROR
4338
continue-on-error: true
4439

45-
# OUTCOME 1 of QA STEP
46-
- name: QA Step - no linting errors
47-
if: steps.linting.outcome == 'success'
48-
shell: bash
49-
run: |-
50-
echo "::notice::QA step linting succeeded"
51-
exit 0;
40+
- name: Black formatter
41+
id: black
42+
run: |
43+
uvx black --diff --check .
44+
continue-on-error: true
5245

53-
# OUTCOME 2i of QA STEP
54-
- name: QA Step - unprettified code with no syntax errors
55-
if: steps.linting.outputs.exit_code == 1
56-
shell: bash
57-
run: |-
58-
echo "::group::QA step succeeded with warnings"
59-
echo "::warning::one or more files contains unformatted code but no syntax errors";
60-
echo "::notice::please run the linter before pushing!";
61-
echo "::endgroup::"
62-
exit 0;
46+
- name: Ruff check
47+
id: ruff
48+
run: |
49+
uvx ruff check
50+
continue-on-error: true
6351

64-
# OUTCOME 2ii of QA STEP
65-
- name: QA Step - code contains syntax errors
66-
if: steps.linting.outputs.exit_code == 123
67-
shell: bash
68-
run: |-
69-
echo "::group::QA step failed"
70-
echo "::error::one or more files contains syntax errors";
71-
echo "::notice::please run the linter and fix syntax errors before pushing!";
72-
echo "::endgroup::"
73-
exit 1;
52+
- name: Final check
53+
run: |
54+
ERROR=0
55+
if [ "${{ steps.syntax-errors.outcome }}" != "success" ]; then
56+
echo "::error::Syntax errors check failed, see 'syntax-errors' step for the details." && ERROR=1
57+
fi
58+
if [ "${{ steps.black.outcome }}" != "success" ]; then
59+
echo "::error::Black formatting check failed, see 'black' step for the details." && ERROR=1
60+
fi
61+
if [ "${{ steps.ruff.outcome }}" != "success" ]; then
62+
echo "::error::Ruff check failed, see 'ruff' step for the details." && ERROR=1
63+
fi
64+
exit $ERROR

.github/workflows/ci-bonsai-daily.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,15 +96,15 @@ jobs:
9696
uses: actions/checkout@v2
9797
with:
9898
repository: IfcOpenShell/bonsai_unstable_repo
99-
token: ${{ secrets.IOS_TO_BLENDER_REPO }}
99+
token: ${{ secrets.IFCOPENBOT_TOKEN }}
100100
path: bonsai_unstable_repo
101101

102102
- name: Download Blender and run critical tests
103103
run: |
104104
# Ensure Bonsai and ifcsverchok enable/disable works before uploading to extensions repo.
105105
106106
# Download Blender.
107-
wget -q -O blender.tar.xz https://download.blender.org/release/Blender4.4/blender-4.4.0-linux-x64.tar.xz
107+
wget -q -O blender.tar.xz https://download.blender.org/release/Blender4.5/blender-4.5.0-linux-x64.tar.xz
108108
tar -xf blender.tar.xz
109109
110110
# Setup Blender.
@@ -175,6 +175,7 @@ jobs:
175175
176176
cd IfcOpenShell/src/bonsai
177177
pip install pytest-blender
178+
pip install pytest-bdd
178179
blender --background --python scripts/setup_pytest.py
179180
blender --python-expr "import bonsai; print(bonsai.bbim_semver); import ifcopenshell; print(ifcopenshell.version)" --background
180181
make test

.github/workflows/ci-bsdd-pypi.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
cd src/bsdd &&
2929
make dist IS_STABLE=TRUE
3030
- name: Publish a Python distribution to PyPI
31-
uses: ortega2247/pypi-upload-action@master
31+
uses: pypa/gh-action-pypi-publish@release/v1
3232
with:
3333
user: __token__
3434
password: ${{ secrets.PYPI_API_TOKEN }}

.github/workflows/ci-ifc4d-pypi.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
cd src/ifc4d &&
2929
make dist IS_STABLE=TRUE
3030
- name: Publish a Python distribution to PyPI
31-
uses: ortega2247/pypi-upload-action@master
31+
uses: pypa/gh-action-pypi-publish@release/v1
3232
with:
3333
user: __token__
3434
password: ${{ secrets.PYPI_API_TOKEN }}

0 commit comments

Comments
 (0)