ernie-renderer 0.2.0.dev3__tar.gz → 0.2.0.dev5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ernie-renderer might be problematic. Click here for more details.

Files changed (43) hide show
  1. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/.github/workflows/ci.yml +26 -17
  2. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/CMakeLists.txt +1 -1
  3. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/PKG-INFO +2 -3
  4. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/README.md +1 -2
  5. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/cmake/ErniePackaging.cmake +2 -0
  6. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/.clang-format +0 -0
  7. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/.clang-tidy +0 -0
  8. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/.dockerignore +0 -0
  9. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/.gersemirc +0 -0
  10. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/.gitattributes +0 -0
  11. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/.github/scripts/install-lavapipe-windows.sh +0 -0
  12. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/.gitignore +0 -0
  13. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/.pre-commit-config.yaml +0 -0
  14. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/CMakePresets.json +0 -0
  15. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/Dockerfile +0 -0
  16. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/LICENSE +0 -0
  17. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/cmake/ErnieTesting.cmake +0 -0
  18. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/cmake/third_party/googletest.cmake +0 -0
  19. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/cmake/third_party/nanobind.cmake +0 -0
  20. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/cmake/third_party/volk.cmake +0 -0
  21. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/cmake/third_party/vulkan_headers.cmake +0 -0
  22. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/CMakeLists.txt +0 -0
  23. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/app/CMakeLists.txt +0 -0
  24. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/app/main.cpp +0 -0
  25. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/core/CMakeLists.txt +0 -0
  26. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/core/version.cpp +0 -0
  27. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/core/version.h +0 -0
  28. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/device/CMakeLists.txt +0 -0
  29. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/device/vulkan_devices.cpp +0 -0
  30. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/device/vulkan_devices.h +0 -0
  31. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/graph/CMakeLists.txt +0 -0
  32. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/io/CMakeLists.txt +0 -0
  33. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/physics/CMakeLists.txt +0 -0
  34. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/python/CMakeLists.txt +0 -0
  35. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/python/ernie/__init__.py +0 -0
  36. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/python/module.cpp +0 -0
  37. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/render/CMakeLists.txt +0 -0
  38. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/scene/CMakeLists.txt +0 -0
  39. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/test/CMakeLists.txt +0 -0
  40. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/test/core/version_test.cpp +0 -0
  41. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/test/device/vulkan_devices_test.cpp +0 -0
  42. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/ernie/test/python/test_package.py +0 -0
  43. {ernie_renderer-0.2.0.dev3 → ernie_renderer-0.2.0.dev5}/pyproject.toml +0 -0
@@ -213,10 +213,17 @@ jobs:
213
213
 
214
214
  # DEB, RPM and TGZ of the ernie program, built on manylinux_2_34 so they run on glibc 2.34 or later.
215
215
  packages:
216
+ name: packages (${{ matrix.arch }})
216
217
  needs: version
217
- runs-on: ubuntu-24.04
218
+ runs-on: ${{ matrix.runner }}
218
219
  timeout-minutes: 30
219
- container: quay.io/pypa/manylinux_2_34_x86_64
220
+ strategy:
221
+ fail-fast: false
222
+ matrix:
223
+ include:
224
+ - { arch: x86_64, runner: ubuntu-24.04 }
225
+ - { arch: aarch64, runner: ubuntu-24.04-arm }
226
+ container: quay.io/pypa/manylinux_2_34_${{ matrix.arch }}
220
227
  steps:
221
228
  - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
222
229
  - name: Version
@@ -234,7 +241,7 @@ jobs:
234
241
  cd build/package && cpack -G "DEB;RPM;TGZ"
235
242
  - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
236
243
  with:
237
- name: packages-linux-x86_64
244
+ name: packages-linux-${{ matrix.arch }}
238
245
  path: |
239
246
  build/package/packages/*.deb
240
247
  build/package/packages/*.rpm
@@ -242,35 +249,37 @@ jobs:
242
249
 
243
250
  # Each package installed on a clean distribution, where the program must find lavapipe.
244
251
  package-test:
245
- name: package-test (${{ matrix.image }})
252
+ name: package-test (${{ matrix.image }}, ${{ matrix.arch }})
246
253
  needs: packages
247
- runs-on: ubuntu-24.04
254
+ runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
248
255
  timeout-minutes: 15
249
256
  strategy:
250
257
  fail-fast: false
251
258
  matrix:
252
- include:
253
- - { image: "ubuntu:22.04", kind: deb }
254
- - { image: "ubuntu:24.04", kind: deb }
255
- - { image: "debian:12", kind: deb }
256
- - { image: "rockylinux/rockylinux:9", kind: rpm }
259
+ arch: [x86_64, aarch64]
260
+ image: ["ubuntu:22.04", "ubuntu:24.04", "debian:12", "rockylinux/rockylinux:9"]
257
261
  container: ${{ matrix.image }}
258
262
  steps:
259
263
  - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
260
264
  with:
261
- name: packages-linux-x86_64
265
+ name: packages-linux-${{ matrix.arch }}
262
266
  - name: Install
263
- if: matrix.kind == 'deb'
267
+ if: ${{ !startsWith(matrix.image, 'rockylinux') }}
264
268
  run: |
265
269
  apt-get update
266
270
  apt-get install -y --no-install-recommends ./*.deb mesa-vulkan-drivers
267
271
  - name: Install
268
- if: matrix.kind == 'rpm'
269
- run: dnf install -y ./*.rpm mesa-vulkan-drivers
272
+ if: ${{ startsWith(matrix.image, 'rockylinux') }}
273
+ run: dnf install -y ./*.rpm
274
+ # Rocky 9 has no lavapipe for aarch64, so there the program is only run, not given a device.
275
+ - name: Install lavapipe
276
+ if: ${{ startsWith(matrix.image, 'rockylinux') && matrix.arch == 'x86_64' }}
277
+ run: dnf install -y mesa-vulkan-drivers
270
278
  - name: Run
271
- run: |
272
- ernie --version
273
- ernie --devices | grep -i llvmpipe
279
+ run: ernie --version
280
+ - name: List devices
281
+ if: ${{ !(startsWith(matrix.image, 'rockylinux') && matrix.arch == 'aarch64') }}
282
+ run: ernie --devices | grep -i llvmpipe
274
283
 
275
284
  # The ernie program's image, built from source; pushed to GHCR from main (dev) and release tags.
276
285
  docker:
@@ -10,7 +10,7 @@ project(
10
10
  )
11
11
 
12
12
  # Pre-release suffix such as .dev12, written by CI.
13
- set(ERNIE_VERSION_SUFFIX ".dev3" CACHE STRING "Pre-release suffix of Ernie's version")
13
+ set(ERNIE_VERSION_SUFFIX ".dev5" CACHE STRING "Pre-release suffix of Ernie's version")
14
14
  set(ERNIE_VERSION "${PROJECT_VERSION}${ERNIE_VERSION_SUFFIX}")
15
15
 
16
16
  option(ERNIE_BUILD_TESTS "Build Ernie's tests" OFF)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ernie-renderer
3
- Version: 0.2.0.dev3
3
+ Version: 0.2.0.dev5
4
4
  Summary: Efficient Renderer for Natural and Interplanetary Environments: a physically based, spectral Vulkan ray tracer
5
5
  Author: Alex Maietta
6
6
  License-Expression: BSD-3-Clause
@@ -109,8 +109,7 @@ sudo dnf install ./ernie-*.rpm
109
109
  The `ernie` program is also published as a Docker image.
110
110
 
111
111
  ```sh
112
- docker run --rm --gpus all -v "$PWD:/out" ghcr.io/alexmaietta/ernie \
113
- --demo demo_atmosphere_earth --viewer null --output /out/earth.png
112
+ docker run --rm --gpus all -v "$PWD:/out" ghcr.io/alexmaietta/ernie --demo demo_atmosphere_earth --viewer null --output /out/earth.png
114
113
  ```
115
114
 
116
115
  ### Build from source
@@ -94,8 +94,7 @@ sudo dnf install ./ernie-*.rpm
94
94
  The `ernie` program is also published as a Docker image.
95
95
 
96
96
  ```sh
97
- docker run --rm --gpus all -v "$PWD:/out" ghcr.io/alexmaietta/ernie \
98
- --demo demo_atmosphere_earth --viewer null --output /out/earth.png
97
+ docker run --rm --gpus all -v "$PWD:/out" ghcr.io/alexmaietta/ernie --demo demo_atmosphere_earth --viewer null --output /out/earth.png
99
98
  ```
100
99
 
101
100
  ### Build from source
@@ -9,6 +9,8 @@ set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_DESCRIPTION}")
9
9
  set(CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/alexmaietta/ernie")
10
10
  set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
11
11
  set(CPACK_PACKAGE_DIRECTORY "${PROJECT_BINARY_DIR}/packages")
12
+ # Archives named for their architecture, so x86_64 and aarch64 tarballs can sit side by side.
13
+ set(CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
12
14
  set(CPACK_COMPONENTS_ALL app)
13
15
  set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
14
16
  set(CPACK_DEB_COMPONENT_INSTALL ON)