mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-05 23:41:44 +00:00
cd87217f4e
As it's automatically set by the cmake script.
119 lines
4.8 KiB
YAML
119 lines
4.8 KiB
YAML
name: Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v[0-9].[0-9].[0-9]*'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
activate:
|
|
if: github.repository == 'IfcOpenShell/IfcOpenShell'
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- run: echo ok go
|
|
build:
|
|
needs: activate
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v5
|
|
with:
|
|
submodules: recursive
|
|
- name: Install C++ dependencies
|
|
run: |
|
|
sudo apt update
|
|
sudo apt-get install --no-install-recommends \
|
|
git cmake gcc g++ \
|
|
libboost-date-time-dev \
|
|
libboost-filesystem-dev \
|
|
libboost-iostreams-dev \
|
|
libboost-program-options-dev \
|
|
libboost-regex-dev \
|
|
libboost-system-dev \
|
|
libboost-thread-dev \
|
|
python3-all-dev python3-pip \
|
|
swig libpcre3-dev libxml2-dev \
|
|
libtbb-dev nlohmann-json3-dev \
|
|
libocct-foundation-dev libocct-modeling-algorithms-dev libocct-modeling-data-dev libocct-ocaf-dev libocct-visualization-dev libocct-data-exchange-dev \
|
|
libhdf5-dev libcgal-dev opencollada-dev
|
|
|
|
- name: Build
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
CHANGELOG_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
mkdir build && cd build
|
|
cmake \
|
|
-DCMAKE_INSTALL_PREFIX=$PWD/install/ \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_PREFIX_PATH=/usr \
|
|
-DCMAKE_SYSTEM_PREFIX_PATH=/usr \
|
|
-DBUILD_PACKAGE=On \
|
|
-DOCC_INCLUDE_DIR=/usr/include/opencascade \
|
|
-DOCC_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu \
|
|
-DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 \
|
|
-DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.10 \
|
|
-DPYTHON_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpython3.10.so \
|
|
-DLIBXML2_INCLUDE_DIR=/usr/include/libxml2 \
|
|
-DLIBXML2_LIBRARIES=/usr/lib/x86_64-linux-gnu/libxml2.so \
|
|
-DGLTF_SUPPORT=On \
|
|
-DJSON_INCLUDE_DIR=/usr/include \
|
|
-DCGAL_INCLUDE_DIR=/usr/include \
|
|
-DGMP_INCLUDE_DIR=/usr/include \
|
|
-DMPFR_INCLUDE_DIR=/usr/include \
|
|
-DGMP_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu \
|
|
-DMPFR_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu \
|
|
-DHDF5_INCLUDE_DIR=/usr/include/hdf5/serial \
|
|
-DOPENCOLLADA_INCLUDE_DIR=/usr/include/opencollada \
|
|
-DOPENCOLLADA_LIBRARY_DIR=/usr/lib/opencollada/ \
|
|
../cmake
|
|
make -j $(nproc)
|
|
make install
|
|
- name: Package
|
|
id: package
|
|
run: |
|
|
make package
|
|
echo ::set-output name=tgz::$( ls assets/*.tar.gz | head -n 1 | xargs basename )
|
|
echo ::set-output name=deb::$( ls assets/*.deb | head -n 1 | xargs basename )
|
|
working-directory: build
|
|
env:
|
|
CHANGELOG_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Release
|
|
id: release
|
|
uses: actions/create-release@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
tag_name: ${{ github.ref }}
|
|
release_name: Release ${{ github.ref }}
|
|
draft: false
|
|
prerelease: true
|
|
body: |
|
|
Changes to this release
|
|
- add github actions support #1306
|
|
- add boost depends to ifcopenshell deb packaging
|
|
- <add more changes here>
|
|
See more details in the documentation
|
|
# body_path: build/CHANGELOG.md
|
|
- name: Upload TGZ
|
|
id: upload-tgz
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ steps.release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
|
|
asset_path: build/assets/${{ steps.package.outputs.tgz }}
|
|
asset_name: ${{ steps.package.outputs.tgz }}
|
|
asset_content_type: application/x-gzip
|
|
- name: Upload DEB
|
|
id: upload-deb
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ steps.release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
|
|
asset_path: build/assets/${{ steps.package.outputs.deb }}
|
|
asset_name: ${{ steps.package.outputs.deb }}
|
|
asset_content_type: application/vnd.debian.binary-package
|