ccpp_ubuntu_release.yml 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. name: C/C++ CI ubuntu
  2. on:
  3. release:
  4. types: [published]
  5. jobs:
  6. build:
  7. runs-on: ubuntu-latest
  8. steps:
  9. - uses: actions/checkout@v1
  10. - name: update clock
  11. run: sudo hwclock -s
  12. - name: Get current date
  13. id: date
  14. run: echo "::set-output name=date::$(date +'%Y%m%d')"
  15. - name: change date in version
  16. run: sed -i "s/+UNKNOWN/_$(date '+%F')/" version.inc
  17. - name: update apt
  18. run: sudo apt update
  19. - name: install gtk2 glew
  20. run: sudo apt install libgtk2.0-dev libglew-dev libudev-dev
  21. - name: mkdir in deps
  22. run: mkdir deps/build
  23. - name: cmake deps
  24. working-directory: ./deps/build
  25. run: cmake ..
  26. - name: make deps
  27. working-directory: ./deps/build
  28. run: make
  29. - name: clean deps
  30. working-directory: ./deps/build
  31. run: rm -rf dep_*
  32. - name: mkdir build
  33. run: mkdir build
  34. - name: cmake
  35. working-directory: ./build
  36. run: cmake .. -DCMAKE_PREFIX_PATH="/home/runner/work/Slic3r/Slic3r/deps/build/destdir/usr/local" -DSLIC3R_STATIC=1
  37. - name: make slic3r
  38. working-directory: ./build
  39. run: make slic3r
  40. - name: create directory and copy into it
  41. working-directory: ./build
  42. run: |
  43. mkdir package
  44. mkdir package/bin
  45. - name: copy resources
  46. working-directory: ./build
  47. run: cp -Rf ../resources package/resources
  48. - name: copy bin
  49. working-directory: ./build
  50. run: cp -f src/superslicer package/bin/superslicer
  51. - name: create sh from echo
  52. working-directory: ./build/package
  53. run: |
  54. echo -e '#!/bin/bash\nDIR=$(readlink -f "$0" | xargs dirname)\nexport LD_LIBRARY_PATH="$DIR/bin"\nexec "$DIR/bin/superslicer" "$@"' >SuperSlicer
  55. chmod u+x superslicer
  56. tar -zcvf ../SuperSlicer.tar.gz .
  57. - name: Upload Release Asset
  58. id: upload-release-asset
  59. uses: actions/upload-release-asset@v1
  60. env:
  61. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  62. with:
  63. upload_url: ${{ github.event.release.upload_url }}
  64. asset_path: ./build/SuperSlicer.tar.gz
  65. asset_name: SuperSlicer_${{ github.event.release.tag_name }}_ubu64_${{steps.date.outputs.date}}.tar.gz
  66. asset_content_type: application/gzip