ccpp_mac_release.yml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. name: C/C++ CI macos
  2. on:
  3. release:
  4. types:
  5. - created
  6. jobs:
  7. build:
  8. runs-on: macos-latest
  9. steps:
  10. - uses: actions/checkout@v1
  11. - name: Get current date
  12. id: date
  13. run: echo "::set-output name=date::$(date +'%Y%m%d')"
  14. - name: change date in version
  15. run: |
  16. sed "s/+UNKNOWN/_$(date '+%F')/" version.inc > version.date.inc
  17. mv version.date.inc version.inc
  18. - name: mkdir in deps
  19. run: mkdir deps/build
  20. - name: cmake deps
  21. working-directory: ./deps/build
  22. run: cmake .. -DCMAKE_OSX_DEPLOYMENT_TARGET="10.13"
  23. - name: make deps
  24. working-directory: ./deps/build
  25. run: make
  26. - name: clean deps
  27. working-directory: ./deps/build
  28. run: rm -rf dep_*
  29. - name: mkdir build
  30. run: mkdir build
  31. - name: cmake
  32. working-directory: ./build
  33. run: cmake .. -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.13" -DSLIC3R_STATIC=1
  34. - name: make slic3r
  35. working-directory: ./build
  36. run: make slic3r
  37. - name: update Info.plist
  38. working-directory: ./build/src
  39. run: sed "s/+UNKNOWN/_$(date '+%F')/" Info.plist >Info.date.plist
  40. - name: create directory and copy into it
  41. working-directory: ./build
  42. run: |
  43. mkdir Slic3r++
  44. mkdir Slic3r++/Slic3r++.app
  45. mkdir Slic3r++/Slic3r++.app/Contents
  46. mkdir Slic3r++/Slic3r++.app/Contents/_CodeSignature
  47. mkdir Slic3r++/Slic3r++.app/Contents/Frameworks
  48. mkdir Slic3r++/Slic3r++.app/Contents/MacOS
  49. - name: copy resources
  50. working-directory: ./build
  51. run: |
  52. cp -Rf ../resources Slic3r++/Slic3r++.app/Contents/resources
  53. cp Slic3r++/Slic3r++.app/Contents/resources/icons/slic3r.icns Slic3r++/Slic3r++.app/Contents/resources/Slic3r.icns
  54. cp src/Info.date.plist Slic3r++/Slic3r++.app/Contents/Info.plist
  55. echo -n -e 'APPL????\x0a' > PkgInfo
  56. cp PkgInfo Slic3r++/Slic3r++.app/Contents/PkgInfo
  57. # echo -n -e '\xff\xfeAPPL\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x0a\x00' > PkgInfo
  58. - name: copy bin
  59. working-directory: ./build
  60. run: |
  61. cp -f src/slic3r++ Slic3r++/Slic3r++.app/Contents/MacOS/slic3r++
  62. chmod u+x Slic3r++/Slic3r++.app/Contents/MacOS/slic3r++
  63. tar -zcvf slic3r++.tar.gz Slic3r++
  64. - name: create dmg
  65. working-directory: ./build
  66. run: |
  67. hdiutil create -ov -fs HFS+ -volname "Slic3r++" -srcfolder "Slic3r++" temp.dmg
  68. hdiutil convert temp.dmg -format UDZO -o Slic3r++.dmg
  69. # - name: signing resources (creating CodeResources inside _CodeSignature)
  70. # working-directory: .
  71. # run: codesign -s <identity> resources
  72. # maybe i should just try to do that on a separate pc and copy the file here, more secure as a signing process.
  73. - name: Upload Release Asset
  74. id: upload-release-asset
  75. uses: actions/upload-release-asset@v1
  76. env:
  77. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  78. with:
  79. upload_url: ${{ github.event.release.upload_url }}
  80. asset_path: ./build/slic3r++.tar.gz
  81. asset_name: slic3r++_${{ github.event.release.tag_name }}_macos_${{steps.date.outputs.date}}.tar.gz
  82. asset_content_type: application/gzip
  83. - name: Upload Release Asset
  84. id: upload-release-asset
  85. uses: actions/upload-release-asset@v1
  86. env:
  87. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  88. with:
  89. upload_url: ${{ steps.create_release.outputs.upload_url }}
  90. asset_path: ./build/nightly_macos.dmg
  91. asset_name: slic3r++_${{ github.event.release.tag_name }}_macos_${{steps.date.outputs.date}}.dmg
  92. asset_content_type: application/x-apple-diskimage