name: Release on: push: tags: - 'v[0-9].[0-9].[0-9]*' jobs: activate: if: github.repository == 'IfcOpenShell/IfcOpenShell' runs-on: ubuntu-latest steps: - run: echo ok go build: needs: activate runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v2 with: lfs: true - name: Update ubuntu run: | sudo apt update sudo apt-get install git cmake gcc g++ libboost1.67-all-dev python3-all-dev swig libpcre3-dev libxml2-dev sudo apt-get install liboce-foundation-dev liboce-modeling-dev liboce-ocaf-dev liboce-visualization-dev liboce-ocaf-lite-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/oce \ -DOCC_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu \ -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 \ -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.8 \ -DPYTHON_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpython3.8.so \ -DCOLLADA_SUPPORT=Off \ -DLIBXML2_INCLUDE_DIR=/usr/include/libxml2 \ -DLIBXML2_LIBRARIES=/usr/lib/x86_64-linux-gnu/libxml2.so \ ../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 - 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