add actions for release builds that upload directly to assets.

This commit is contained in:
supermerill 2020-05-04 15:47:20 +02:00
parent 0da98baa11
commit e380bd9176
2 changed files with 167 additions and 0 deletions

96
.github/workflows/ccpp_mac_release.yml vendored Normal file
View File

@ -0,0 +1,96 @@
name: C/C++ CI macos
on:
release:
types:
- created
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v1
- name: Get current date
id: date
run: echo "::set-output name=date::$(date +'%Y%m%d')"
- name: change date in version
run: |
sed "s/+UNKNOWN/_$(date '+%F')/" version.inc > version.date.inc
mv version.date.inc version.inc
- name: mkdir in deps
run: mkdir deps/build
- name: cmake deps
working-directory: ./deps/build
run: cmake .. -DCMAKE_OSX_DEPLOYMENT_TARGET="10.13"
- name: make deps
working-directory: ./deps/build
run: make
- name: clean deps
working-directory: ./deps/build
run: rm -rf dep_*
- name: mkdir build
run: mkdir build
- name: cmake
working-directory: ./build
run: cmake .. -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.13" -DSLIC3R_STATIC=1
- name: make slic3r
working-directory: ./build
run: make slic3r
- name: update Info.plist
working-directory: ./build/src
run: sed "s/+UNKNOWN/_$(date '+%F')/" Info.plist >Info.date.plist
- name: create directory and copy into it
working-directory: ./build
run: |
mkdir Slic3r++
mkdir Slic3r++/Slic3r++.app
mkdir Slic3r++/Slic3r++.app/Contents
mkdir Slic3r++/Slic3r++.app/Contents/_CodeSignature
mkdir Slic3r++/Slic3r++.app/Contents/Frameworks
mkdir Slic3r++/Slic3r++.app/Contents/MacOS
- name: copy resources
working-directory: ./build
run: |
cp -Rf ../resources Slic3r++/Slic3r++.app/Contents/resources
cp Slic3r++/Slic3r++.app/Contents/resources/icons/slic3r.icns Slic3r++/Slic3r++.app/Contents/resources/Slic3r.icns
cp src/Info.date.plist Slic3r++/Slic3r++.app/Contents/Info.plist
echo -n -e 'APPL????\x0a' > PkgInfo
cp PkgInfo Slic3r++/Slic3r++.app/Contents/PkgInfo
# echo -n -e '\xff\xfeAPPL\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x0a\x00' > PkgInfo
- name: copy bin
working-directory: ./build
run: |
cp -f src/slic3r++ Slic3r++/Slic3r++.app/Contents/MacOS/slic3r++
chmod u+x Slic3r++/Slic3r++.app/Contents/MacOS/slic3r++
tar -zcvf slic3r++.tar.gz Slic3r++
- name: create dmg
working-directory: ./build
run: |
hdiutil create -ov -fs HFS+ -volname "Slic3r++" -srcfolder "Slic3r++" temp.dmg
hdiutil convert temp.dmg -format UDZO -o Slic3r++.dmg
# - name: signing resources (creating CodeResources inside _CodeSignature)
# working-directory: .
# run: codesign -s <identity> resources
# maybe i should just try to do that on a separate pc and copy the file here, more secure as a signing process.
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./build/slic3r++.tar.gz
asset_name: slic3r++_${{ github.event.release.tag_name }}_macos_${{steps.date.outputs.date}}.tar.gz
asset_content_type: application/gzip
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./build/nightly_macos.dmg
asset_name: slic3r++_${{ github.event.release.tag_name }}_macos_${{steps.date.outputs.date}}.dmg
asset_content_type: application/x-apple-diskimage

View File

@ -0,0 +1,71 @@
name: C/C++ CI ubuntu
on:
release:
types:
- created
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: update clock
run: sudo hwclock -s
- name: Get current date
id: date
run: echo "::set-output name=date::$(date +'%Y%m%d')"
- name: change date in version
run: sed -i "s/+UNKNOWN/_$(date '+%F')/" version.inc
- name: update apt
run: sudo apt update
- name: install gtk2 glew
run: sudo apt install libgtk2.0-dev libglew-dev libudev-dev
- name: mkdir in deps
run: mkdir deps/build
- name: cmake deps
working-directory: ./deps/build
run: cmake ..
- name: make deps
working-directory: ./deps/build
run: make
- name: clean deps
working-directory: ./deps/build
run: rm -rf dep_*
- name: mkdir build
run: mkdir build
- name: cmake
working-directory: ./build
run: cmake .. -DCMAKE_PREFIX_PATH="/home/runner/work/Slic3r/Slic3r/deps/build/destdir/usr/local" -DSLIC3R_STATIC=1
- name: make slic3r
working-directory: ./build
run: make slic3r
- name: create directory and copy into it
working-directory: ./build
run: |
mkdir package
mkdir package/bin
- name: copy resources
working-directory: ./build
run: cp -Rf ../resources package/resources
- name: copy bin
working-directory: ./build
run: cp -f src/slic3r++ package/bin/slic3r++
- name: create sh from echo
working-directory: ./build/package
run: |
echo -e '#!/bin/bash\nDIR=$(readlink -f "$0" | xargs dirname)\nexport LD_LIBRARY_PATH="$DIR/bin"\nexec "$DIR/bin/slic3r++" "$@"' >slic3r++
chmod u+x slic3r++
tar -zcvf ../slic3r++.tar.gz .
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./build/slic3r++.tar.gz
asset_name: slic3r++_${{ github.event.release.tag_name }}_ubu64_${{steps.date.outputs.date}}.tar.gz
asset_content_type: application/gzip