update build scripts

This commit is contained in:
supermerill 2021-10-27 23:36:11 +02:00
parent b6f5dc40c5
commit af5c3f13ba
12 changed files with 199 additions and 465 deletions

View File

@ -10,6 +10,9 @@ jobs:
runs-on: macos-latest runs-on: macos-latest
env:
EXEC_NAME: "${{ github.event.repository.name }}"
DBL_NAME: "${{ github.event.repository.name }}/${{ github.event.repository.name }}"
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
with: with:
@ -17,6 +20,15 @@ jobs:
- name: update submodule profiles - name: update submodule profiles
working-directory: ./resources/profiles working-directory: ./resources/profiles
run: git submodule update --init run: git submodule update --init
- id: lowercase_repo
uses: ASzc/change-string-case-action@v1
with:
string: ${{ github.event.repository.name }}
- name: set exec name
if: ${{ github.event.repository.name != 'Slic3r' }}
uses: allenevans/set-env@v2.0.0
with:
EXEC_NAME: "${{ steps.lowercase_repo.outputs.lowercase }}"
- name: change date in version - name: change date in version
run: | run: |
sed "s/+UNKNOWN/_$(date '+%F')/" version.inc > version.date.inc sed "s/+UNKNOWN/_$(date '+%F')/" version.inc > version.date.inc
@ -46,7 +58,7 @@ jobs:
- name: cmake - name: cmake
working-directory: ./build working-directory: ./build
run: cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.13" -DSLIC3R_STATIC=1 run: cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.13" -DSLIC3R_STATIC=1
- name: make Slic3r - name: make ${{ github.event.repository.name }}
working-directory: ./build working-directory: ./build
run: make Slic3r run: make Slic3r
- name: make .mo - name: make .mo
@ -59,32 +71,32 @@ jobs:
working-directory: ./build working-directory: ./build
run: | run: |
mkdir pack mkdir pack
mkdir pack/Slic3r mkdir pack/${{ github.event.repository.name }}
mkdir pack/Slic3r/Slic3r.app mkdir pack/${{ env.DBL_NAME }}.app
mkdir pack/Slic3r/Slic3r.app/Contents mkdir pack/${{ env.DBL_NAME }}.app/Contents
mkdir pack/Slic3r/Slic3r.app/Contents/_CodeSignature mkdir pack/${{ env.DBL_NAME }}.app/Contents/_CodeSignature
mkdir pack/Slic3r/Slic3r.app/Contents/Frameworks mkdir pack/${{ env.DBL_NAME }}.app/Contents/Frameworks
mkdir pack/Slic3r/Slic3r.app/Contents/MacOS mkdir pack/${{ env.DBL_NAME }}.app/Contents/MacOS
- name: copy Resources - name: copy Resources
working-directory: ./build working-directory: ./build
run: | run: |
cp -Rf ../resources pack/Slic3r/Slic3r.app/Contents/Resources cp -Rf ../resources pack/${{ env.DBL_NAME }}.app/Contents/Resources
cp pack/Slic3r/Slic3r.app/Contents/Resources/icons/Slic3r.icns pack/Slic3r/Slic3r.app/Contents/resources/Slic3r.icns cp pack/${{ env.DBL_NAME }}.app/Contents/Resources/icons/${{ github.event.repository.name }}.icns pack/${{ github.event.repository.name }}/${{ github.event.repository.name }}.app/Contents/resources/${{ github.event.repository.name }}.icns
cp src/Info.date.plist pack/Slic3r/Slic3r.app/Contents/Info.plist cp src/Info.date.plist pack/${{ github.event.repository.name }}/${{ github.event.repository.name }}.app/Contents/Info.plist
echo -n -e 'APPL????\x0a' > PkgInfo echo -n -e 'APPL????\x0a' > PkgInfo
cp PkgInfo pack/Slic3r/Slic3r.app/Contents/PkgInfo cp PkgInfo pack/${{ env.DBL_NAME }}.app/Contents/PkgInfo
# echo -n -e '\xff\xfeAPPL\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x0a\x00' > PkgInfo # echo -n -e '\xff\xfeAPPL\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x0a\x00' > PkgInfo
- name: copy bin and do not let it lower case - name: copy bin and do not let it lower case
working-directory: ./build working-directory: ./build
run: | run: |
cp -f src/Slic3r pack/Slic3r/Slic3r.app/Contents/MacOS/Slic3r cp -f src/${{ env.EXEC_NAME }} pack/${{ env.DBL_NAME }}.app/Contents/MacOS/${{ github.event.repository.name }}
chmod u+x pack/Slic3r/Slic3r.app/Contents/MacOS/Slic3r chmod u+x pack/${{ env.DBL_NAME }}.app/Contents/MacOS/${{ github.event.repository.name }}
tar -cvf Slic3r.tar pack/Slic3r tar -cvf ${{ github.event.repository.name }}.tar pack/${{ github.event.repository.name }}
- name: create dmg - name: create dmg
working-directory: ./build working-directory: ./build
run: | run: |
hdiutil create -ov -fs HFS+ -volname "Slic3r" -srcfolder "pack/Slic3r" temp.dmg hdiutil create -ov -fs HFS+ -volname "${{ github.event.repository.name }}" -srcfolder "pack/${{ github.event.repository.name }}" temp.dmg
hdiutil convert temp.dmg -format UDZO -o Slic3r.dmg hdiutil convert temp.dmg -format UDZO -o ${{ github.event.repository.name }}.dmg
# - name: signing Resources (creating CodeResources inside _CodeSignature) # - name: signing Resources (creating CodeResources inside _CodeSignature)
# working-directory: . # working-directory: .
# run: codesign -s <identity> Resources # run: codesign -s <identity> Resources
@ -93,9 +105,9 @@ jobs:
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v1.0.0
with: with:
name: nightly_macos.tar name: nightly_macos.tar
path: build/Slic3r.tar path: build/${{ github.event.repository.name }}.tar
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v1.0.0
with: with:
name: nightly_macos_debug.dmg name: nightly_macos_debug.dmg
path: build/Slic3r.dmg path: build/${{ github.event.repository.name }}.dmg

View File

@ -25,70 +25,21 @@ jobs:
run: sudo apt update run: sudo apt update
- name: install gtk2 glew - name: install gtk2 glew
run: sudo apt install libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev run: sudo apt install libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev
- name: mkdir in deps - name: build deps & slicer
run: mkdir deps/build run: ./BuildLinux.sh -dgs
- name: cmake deps
working-directory: ./deps/build
run: cmake ..
- name: make deps
working-directory: ./deps/build
run: make
- name: rename wxscintilla
working-directory: ./deps/build/destdir/usr/local/lib
run: cp libwxscintilla-3.1.a libwx_gtk2u_scintilla-3.1.a
- name: ls libs
working-directory: ./deps/build
run: ls ./destdir/usr/local/lib
- 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: make .mo
working-directory: ./build
run: make gettext_po_to_mo
- name: make .pot - name: make .pot
working-directory: ./build working-directory: ./build
run: make gettext_make_pot run: make gettext_make_pot
- name: create directory and copy into it - name: build tar & appimage
working-directory: ./build working-directory: ./build
run: | run: src/BuildLinuxImage.sh -i
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 -cvf ../Slic3r.tar .
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v1.0.0
with: with:
name: nightly_linux.tar name: nightly_linux_gtk2.tar
path: build/Slic3r.tar path: build/${{ github.event.repository.name }}.tar
- name: build appimage
working-directory: ./build/package
run: |
chmod +x ../build_appimage.sh
../build_appimage.sh
- name: 'Tar files'
working-directory: ./build/package
run: tar -cvf Slic3r_ubu64.AppImage.tar Slic3r_ubu64.AppImage
- name: Upload appimage - name: Upload appimage
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v1.0.0
with: with:
name: Slic3r-AppImage.tar name: ${{ github.event.repository.name }}-gtk2.AppImage
path: build/package/Slic3r_ubu64.AppImage.tar path: build/${{ github.event.repository.name }}_ubu64.AppImage

View File

@ -25,67 +25,21 @@ jobs:
run: sudo apt update run: sudo apt update
- name: install gtk2 glew - name: install gtk2 glew
run: sudo apt install libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev run: sudo apt install libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev
- name: mkdir in deps - name: build deps & slicer
run: mkdir deps/build run: ./BuildLinux.sh -bdgs
- name: cmake deps - name: make .pot
working-directory: ./deps/build
run: cmake .. -DCMAKE_BUILD_TYPE=Debug
- name: make deps
working-directory: ./deps/build
run: make
- name: ls libs
working-directory: ./deps/build
run: ls ./destdir/usr/local/lib
- name: rename wxscintilla
working-directory: ./deps/build/destdir/usr/local/lib
run: cp libwxscintilla-3.1.a libwx_gtk2u_scintilla-3.1.a
- name: clean deps
working-directory: ./deps/build
run: rm -rf dep_*
- name: mkdir build
run: mkdir build
- name: cmake
working-directory: ./build working-directory: ./build
run: cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH="/home/runner/work/Slic3r/Slic3r/deps/build/destdir/usr/local" -DSLIC3R_STATIC=1 run: make gettext_make_pot
- name: make Slic3r - name: build tar & appimage
working-directory: ./build working-directory: ./build
run: make Slic3r run: src/BuildLinuxImage.sh -i
- name: make .mo
working-directory: ./build
run: make gettext_po_to_mo
- 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 -cvf ../Slic3r.tar .
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v1.0.0
with: with:
name: nightly_linux.tar name: nightly_linux_gtk2.tar
path: build/Slic3r.tar path: build/${{ github.event.repository.name }}.tar
- name: build appimage
working-directory: ./build/package
run: |
chmod +x ../build_appimage.sh
../build_appimage.sh
- name: 'Tar files'
working-directory: ./build/package
run: tar -cvf Slic3r_ubu64.AppImage.tar Slic3r_ubu64.AppImage
- name: Upload appimage - name: Upload appimage
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v1.0.0
with: with:
name: Slic3r-AppImage.tar name: ${{ github.event.repository.name }}-gtk2.AppImage
path: build/package/Slic3r_ubu64.AppImage.tar path: build/${{ github.event.repository.name }}_ubu64.AppImage

View File

@ -1,4 +1,4 @@
name: C/C++ Nigthly ubuntu name: C/C++ Nigthly ubuntu-GTK3
on: on:
push: push:
@ -23,72 +23,23 @@ jobs:
run: sudo hwclock -s run: sudo hwclock -s
- name: update apt - name: update apt
run: sudo apt update run: sudo apt update
- name: install gtk2 glew - name: install gtk3 glew
run: sudo apt install libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev run: sudo apt install libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev
- name: mkdir in deps - name: build deps & slicer
run: mkdir deps/build run: ./BuildLinux.sh -ds
- name: cmake deps
working-directory: ./deps/build
run: cmake .. -DDEP_WX_GTK3=ON
- name: make deps
working-directory: ./deps/build
run: make
- name: rename wxscintilla
working-directory: ./deps/build/destdir/usr/local/lib
run: cp libwxscintilla-3.1.a libwx_gtk3u_scintilla-3.1.a
- name: ls libs
working-directory: ./deps/build
run: ls ./destdir/usr/local/lib
- name: clean deps
working-directory: ./deps/build
run: rm -rf dep_*
- name: mkdir build
run: mkdir build
- name: cmake
working-directory: ./build
run: cmake .. -DSLIC3R_GTK=3 -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: make .mo
working-directory: ./build
run: make gettext_po_to_mo
- name: make .pot - name: make .pot
working-directory: ./build working-directory: ./build
run: make gettext_make_pot run: make gettext_make_pot
- name: create directory and copy into it - name: build tar & appimage
working-directory: ./build working-directory: ./build
run: | run: src/BuildLinuxImage.sh -i
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 -cvf ../Slic3r.tar .
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v1.0.0
with: with:
name: nightly_linux.tar name: nightly_linux_gtk3.tar
path: build/Slic3r.tar path: build/${{ github.event.repository.name }}.tar
- name: build appimage
working-directory: ./build/package
run: |
chmod +x ../build_appimage.sh
../build_appimage.sh
- name: 'Tar files'
working-directory: ./build/package
run: tar -cvf Slic3r_ubu64.AppImage.tar Slic3r_ubu64.AppImage
- name: Upload appimage - name: Upload appimage
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v1.0.0
with: with:
name: Slic3r-AppImage.tar name: ${{ github.event.repository.name }}-gtk3.AppImage
path: build/package/Slic3r_ubu64.AppImage.tar path: build/${{ github.event.repository.name }}_ubu64.AppImage

View File

@ -1,4 +1,4 @@
name: C/C++ debug ubuntu name: C/C++ debug ubuntu-GTK3
on: on:
push: push:
@ -23,69 +23,24 @@ jobs:
run: sudo hwclock -s run: sudo hwclock -s
- name: update apt - name: update apt
run: sudo apt update run: sudo apt update
- name: install gtk2 glew - name: install gtk3 glew
run: sudo apt install libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev run: sudo apt install libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev
- name: mkdir in deps - name: build deps & slicer
run: mkdir deps/build run: ./BuildLinux.sh -bds
- name: cmake deps - name: make .pot
working-directory: ./deps/build
run: cmake .. -DDEP_WX_GTK3=ON -DCMAKE_BUILD_TYPE=Debug
- name: make deps
working-directory: ./deps/build
run: make
- name: ls libs
working-directory: ./deps/build
run: ls ./destdir/usr/local/lib
- name: rename wxscintilla
working-directory: ./deps/build/destdir/usr/local/lib
run: cp libwxscintilla-3.1.a libwx_gtk3u_scintilla-3.1.a
- name: clean deps
working-directory: ./deps/build
run: rm -rf dep_*
- name: mkdir build
run: mkdir build
- name: cmake
working-directory: ./build working-directory: ./build
run: cmake .. -DSLIC3R_GTK=3 -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH="/home/runner/work/Slic3r/Slic3r/deps/build/destdir/usr/local" -DSLIC3R_STATIC=1 run: make gettext_make_pot
- name: make Slic3r - name: build tar & appimage
working-directory: ./build working-directory: ./build
run: make Slic3r run: src/BuildLinuxImage.sh -i
- name: make .mo
working-directory: ./build
run: make gettext_po_to_mo
- 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 -cvf ../Slic3r.tar .
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v1.0.0
with: with:
name: nightly_linux.tar name: nightly_linux_gtk3.tar
path: build/Slic3r.tar path: build/${{ github.event.repository.name }}.tar
- name: build appimage
working-directory: ./build/package
run: |
chmod +x ../build_appimage.sh
../build_appimage.sh
- name: 'Tar files'
working-directory: ./build/package
run: tar -cvf Slic3r_ubu64.AppImage.tar Slic3r_ubu64.AppImage
- name: Upload appimage - name: Upload appimage
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v1.0.0
with: with:
name: Slic3r-AppImage.tar name: ${{ github.event.repository.name }}-gtk3.AppImage
path: build/package/Slic3r_ubu64.AppImage.tar path: build/${{ github.event.repository.name }}_ubu64.AppImage

View File

@ -1,4 +1,4 @@
name: C/C++ Nigthly ubuntu name: C/C++ Nigthly ubuntu-GTK3
on: on:
push: push:
@ -10,6 +10,8 @@ jobs:
runs-on: ubuntu-18.04 runs-on: ubuntu-18.04
env:
EXEC_NAME: "${{ github.event.repository.name }}"
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
with: with:
@ -18,77 +20,28 @@ jobs:
working-directory: ./resources/profiles working-directory: ./resources/profiles
run: git submodule update --init run: git submodule update --init
- name: change date in version - name: change date in version
run: sed -i "s/+UNKNOWN//" version.inc run: sed -i "s/+UNKNOWN/_$(date '+%F')/" version.inc
- name: update clock - name: update clock
run: sudo hwclock -s run: sudo hwclock -s
- name: update apt - name: update apt
run: sudo apt update run: sudo apt update
- name: install gtk2 glew - name: install gtk3 glew
run: sudo apt install libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev run: sudo apt install libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev
- name: mkdir in deps - name: build deps & slicer
run: mkdir deps/build run: ./BuildLinux.sh -ds
- name: cmake deps
working-directory: ./deps/build
run: cmake .. -DDEP_WX_GTK3=ON
- name: make deps
working-directory: ./deps/build
run: make
- name: rename wxscintilla
working-directory: ./deps/build/destdir/usr/local/lib
run: cp libwxscintilla-3.1.a libwx_gtk3u_scintilla-3.1.a
- name: ls libs
working-directory: ./deps/build
run: ls ./destdir/usr/local/lib
- name: clean deps
working-directory: ./deps/build
run: rm -rf dep_*
- name: mkdir build
run: mkdir build
- name: cmake
working-directory: ./build
run: cmake .. -DSLIC3R_GTK=3 -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: make .mo
working-directory: ./build
run: make gettext_po_to_mo
- name: make .pot - name: make .pot
working-directory: ./build working-directory: ./build
run: make gettext_make_pot run: make gettext_make_pot
- name: create directory and copy into it - name: build tar & appimage
working-directory: ./build working-directory: ./build
run: | run: src/BuildLinuxImage.sh -i
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 -cvf ../Slic3r.tar .
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v1.0.0
with: with:
name: rc_linux.tar name: rc_linux_gtk3.tar
path: build/Slic3r.tar path: build/${{ github.event.repository.name }}.tar
- name: build appimage
working-directory: ./build/package
run: |
chmod +x ../build_appimage.sh
../build_appimage.sh
- name: 'Tar files'
working-directory: ./build/package
run: tar -cvf Slic3r_ubu64.AppImage.tar Slic3r_ubu64.AppImage
- name: Upload appimage - name: Upload appimage
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v1.0.0
with: with:
name: rc-Slic3r-AppImage.tar name: rc-${{ github.event.repository.name }}-gtk3.AppImage
path: build/package/Slic3r_ubu64.AppImage.tar path: build/${{ github.event.repository.name }}_ubu64.AppImage

View File

@ -25,70 +25,21 @@ jobs:
run: sudo apt update run: sudo apt update
- name: install gtk2 glew - name: install gtk2 glew
run: sudo apt install libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev run: sudo apt install libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev
- name: mkdir in deps - name: build deps & slicer
run: mkdir deps/build run: ./BuildLinux.sh -dgs
- name: cmake deps
working-directory: ./deps/build
run: cmake ..
- name: make deps
working-directory: ./deps/build
run: make
- name: rename wxscintilla
working-directory: ./deps/build/destdir/usr/local/lib
run: cp libwxscintilla-3.1.a libwx_gtk2u_scintilla-3.1.a
- name: ls libs
working-directory: ./deps/build
run: ls ./destdir/usr/local/lib
- 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: make .mo
working-directory: ./build
run: make gettext_po_to_mo
- name: make .pot - name: make .pot
working-directory: ./build working-directory: ./build
run: make gettext_make_pot run: make gettext_make_pot
- name: create directory and copy into it - name: build tar & appimage
working-directory: ./build working-directory: ./build
run: | run: src/BuildLinuxImage.sh -i
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 -cvf ../Slic3r.tar .
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v1.0.0
with: with:
name: rc_linux.tar name: rc_linux_gtk2.tar
path: build/Slic3r.tar path: build/${{ github.event.repository.name }}.tar
- name: build appimage
working-directory: ./build/package
run: |
chmod +x ../build_appimage.sh
../build_appimage.sh
- name: 'Tar files'
working-directory: ./build/package
run: tar -cvf Slic3r_ubu64.AppImage.tar Slic3r_ubu64.AppImage
- name: Upload appimage - name: Upload appimage
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v1.0.0
with: with:
name: rc-Slic3r-AppImage.tar name: rc-${{ github.event.repository.name }}-gtk2.AppImage
path: build/package/Slic3r_ubu64.AppImage.tar path: build/${{ github.event.repository.name }}_ubu64.AppImage

View File

@ -55,7 +55,7 @@ jobs:
run: mkdir build run: mkdir build
- name: cmake - name: cmake
working-directory: ./build working-directory: ./build
run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\Slic3r\Slic3r\deps\destdir\usr\local" run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\${{ github.event.repository.name }}\${{ github.event.repository.name }}\deps\destdir\usr\local"
- name: make - name: make
working-directory: ./build working-directory: ./build
run: msbuild /m /P:Configuration=Release INSTALL.vcxproj run: msbuild /m /P:Configuration=Release INSTALL.vcxproj
@ -76,18 +76,18 @@ jobs:
- name: copy from release - name: copy from release
working-directory: ./build working-directory: ./build
shell: powershell shell: powershell
run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer/releases/download/2.3.56.1/SuperSlicer_2.3.56.1_win64_210527.zip", "SuperSlicer_2.3.56.1_win64_210527.zip")' run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer_deps/releases/download/1.75/Slic3r_win_build.zip", "Slic3r_win_build.zip")'
- name: unzip - name: unzip
working-directory: ./build working-directory: ./build
shell: cmd shell: cmd
run: '"C:/Program Files/7-Zip/7z.exe" x SuperSlicer_2.3.56.1_win64_210527.zip' run: '"C:/Program Files/7-Zip/7z.exe" x Slic3r_win_build.zip'
- name: copy missing dll content from old release - name: copy missing dll content from old release
working-directory: ./build working-directory: ./build
shell: cmd shell: cmd
run: | run: |
xcopy /RCYIE SuperSlicer_2.3.56.1_win64_210527\*.dll package\ xcopy /RCYIE Slic3r_win_build\*.dll package\
xcopy /RCYIE SuperSlicer_2.3.56.1_win64_210527\*.bat package\ xcopy /RCYIE Slic3r_win_build\local-settings.bat package\${{ github.event.repository.name }}_local-settings.bat
xcopy /RCYIE SuperSlicer_2.3.56.1_win64_210527\mesa package\ xcopy /RCYIE Slic3r_win_build\mesa package\
- name: copy new resources - name: copy new resources
working-directory: ./build working-directory: ./build
shell: cmd shell: cmd

View File

@ -55,7 +55,7 @@ jobs:
run: mkdir build run: mkdir build
- name: cmake - name: cmake
working-directory: ./build working-directory: ./build
run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\Slic3r\Slic3r\deps\destdir\usr\local" run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\${{ github.event.repository.name }}\${{ github.event.repository.name }}\deps\destdir\usr\local"
- name: make - name: make
working-directory: ./build working-directory: ./build
run: msbuild /m /P:Configuration=Debug INSTALL.vcxproj run: msbuild /m /P:Configuration=Debug INSTALL.vcxproj
@ -73,18 +73,18 @@ jobs:
- name: copy from release - name: copy from release
working-directory: ./build working-directory: ./build
shell: powershell shell: powershell
run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer/releases/download/2.3.56.1/SuperSlicer_2.3.56.1_win64_210527.zip", "SuperSlicer_2.3.56.1_win64_210527.zip")' run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer_deps/releases/download/1.75/Slic3r_win_build.zip", "Slic3r_win_build.zip")'
- name: unzip - name: unzip
working-directory: ./build working-directory: ./build
shell: cmd shell: cmd
run: '"C:/Program Files/7-Zip/7z.exe" x SuperSlicer_2.3.56.1_win64_210527.zip' run: '"C:/Program Files/7-Zip/7z.exe" x Slic3r_win_build.zip'
- name: copy missing dll content from old release - name: copy missing dll content from old release
working-directory: ./build working-directory: ./build
shell: cmd shell: cmd
run: | run: |
xcopy /RCYIE SuperSlicer_2.3.56.1_win64_210527\*.dll package\ xcopy /RCYIE Slic3r_win_build\*.dll package\
xcopy /RCYIE SuperSlicer_2.3.56.1_win64_210527\*.bat package\ xcopy /RCYIE Slic3r_win_build\local-settings.bat package\${{ github.event.repository.name }}_local-settings.bat
xcopy /RCYIE SuperSlicer_2.3.56.1_win64_210527\mesa package\ xcopy /RCYIE Slic3r_win_build\mesa package\
- name: copy new resources - name: copy new resources
working-directory: ./build working-directory: ./build
shell: cmd shell: cmd

View File

@ -55,7 +55,7 @@ jobs:
run: mkdir build run: mkdir build
- name: cmake - name: cmake
working-directory: ./build working-directory: ./build
run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\Slic3r\Slic3r\deps\destdir\usr\local" run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\${{ github.event.repository.name }}\${{ github.event.repository.name }}\deps\destdir\usr\local"
- name: make - name: make
working-directory: ./build working-directory: ./build
run: msbuild /m /P:Configuration=Release INSTALL.vcxproj run: msbuild /m /P:Configuration=Release INSTALL.vcxproj
@ -76,18 +76,18 @@ jobs:
- name: copy from release - name: copy from release
working-directory: ./build working-directory: ./build
shell: powershell shell: powershell
run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer/releases/download/2.3.56.1/SuperSlicer_2.3.56.1_win64_210527.zip", "SuperSlicer_2.3.56.1_win64_210527.zip")' run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer_deps/releases/download/1.75/Slic3r_win_build.zip", "Slic3r_win_build.zip")'
- name: unzip - name: unzip
working-directory: ./build working-directory: ./build
shell: cmd shell: cmd
run: '"C:/Program Files/7-Zip/7z.exe" x SuperSlicer_2.3.56.1_win64_210527.zip' run: '"C:/Program Files/7-Zip/7z.exe" x Slic3r_win_build.zip'
- name: copy missing dll content from old release - name: copy missing dll content from old release
working-directory: ./build working-directory: ./build
shell: cmd shell: cmd
run: | run: |
xcopy /RCYIE SuperSlicer_2.3.56.1_win64_210527\*.dll package\ xcopy /RCYIE Slic3r_win_build\*.dll package\
xcopy /RCYIE SuperSlicer_2.3.56.1_win64_210527\*.bat package\ xcopy /RCYIE Slic3r_win_build\local-settings.bat package\${{ github.event.repository.name }}_local-settings.bat
xcopy /RCYIE SuperSlicer_2.3.56.1_win64_210527\mesa package\ xcopy /RCYIE Slic3r_win_build\mesa package\
- name: copy new resources - name: copy new resources
working-directory: ./build working-directory: ./build
shell: cmd shell: cmd

View File

@ -2,9 +2,11 @@
export ROOT=`pwd` export ROOT=`pwd`
export NCORES=`nproc --all` export NCORES=`nproc --all`
FOUND_GTK2=$(dpkg -l libgtk* | grep gtk2)
FOUND_GTK3=$(dpkg -l libgtk* | grep gtk-3)
unset name unset name
while getopts ":dsiuh" opt; do while getopts ":dsiuhgb" opt; do
case ${opt} in case ${opt} in
u ) u )
UPDATE_LIB="1" UPDATE_LIB="1"
@ -18,8 +20,16 @@ while getopts ":dsiuh" opt; do
s ) s )
BUILD_SLIC3R="1" BUILD_SLIC3R="1"
;; ;;
h ) echo "Usage: ./BuildLinux.sh [-i][-u][-d][-s]" b )
BUILD_DEBUG="1"
;;
g )
FOUND_GTK3=""
;;
h ) echo "Usage: ./BuildLinux.sh [-i][-u][-d][-s][-b][-g]"
echo " -i: Generate appimage (optional)" echo " -i: Generate appimage (optional)"
echo " -g: force gtk2 build"
echo " -b: build in debug mode"
echo " -d: build deps (optional)" echo " -d: build deps (optional)"
echo " -s: build slic3r (optional)" echo " -s: build slic3r (optional)"
echo " -u: only update clock & dependency packets (optional and need sudo)" echo " -u: only update clock & dependency packets (optional and need sudo)"
@ -32,14 +42,16 @@ done
if [ $OPTIND -eq 1 ] if [ $OPTIND -eq 1 ]
then then
echo "Usage: ./BuildLinux.sh [-i][-u][-d][-s]" echo "Usage: ./BuildLinux.sh [-i][-u][-d][-s][-b][-g]"
echo " -i: Generate appimage" echo " -i: Generate appimage (optional)"
echo " -d: build deps" echo " -g: force gtk2 build"
echo " -s: build slic3r" echo " -b: build in debug mode"
echo " -u: only update clock & dependency packets (need sudo)" echo " -d: build deps (optional)"
echo "For a first use, you want to 'sudo ./BuildLinux.sh -u'" echo " -s: build slic3r (optional)"
echo " and then './BuildLinux.sh -dsi'" echo " -u: only update clock & dependency packets (optional and need sudo)"
exit 0 echo "For a first use, you want to 'sudo ./BuildLinux.sh -u'"
echo " and then './BuildLinux.sh -dsi'"
exit 0
fi fi
# mkdir build # mkdir build
@ -48,8 +60,6 @@ then
mkdir build mkdir build
fi fi
FOUND_GTK2=$(dpkg -l libgtk* | grep gtk2)
FOUND_GTK3=$(dpkg -l libgtk* | grep gtk-3)
if [[ -n "$UPDATE_LIB" ]] if [[ -n "$UPDATE_LIB" ]]
then then
@ -58,10 +68,10 @@ then
apt update apt update
if [[ -z "$FOUND_GTK3" ]] if [[ -z "$FOUND_GTK3" ]]
then then
echo -e "\nInstalling: libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git\n" echo -e "\nInstalling: libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git\n"
apt install libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git apt install libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git
else else
echo -e "\nFind libgtk-3, installing: libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev cmake git\n" echo -e "\nFind libgtk-3, installing: libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev cmake git\n"
apt install libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev cmake git apt install libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev cmake git
fi fi
echo -e "done\n" echo -e "done\n"
@ -88,14 +98,12 @@ echo "[1/9] Updating submodules..."
git submodule update --init git submodule update --init
popd popd
} }
# > $ROOT/build/Build.log # Capture all command output
echo "[2/9] Changing date in version..." echo "[2/9] Changing date in version..."
{ {
# change date in version # change date in version
sed -i "s/+UNKNOWN/_$(date '+%F')/" version.inc sed -i "s/+UNKNOWN/_$(date '+%F')/" version.inc
} }
# &> $ROOT/build/Build.log # Capture all command output
echo "done" echo "done"
# mkdir in deps # mkdir in deps
@ -107,77 +115,71 @@ fi
if [[ -n "$BUILD_DEPS" ]] if [[ -n "$BUILD_DEPS" ]]
then then
echo "[3/9] Configuring dependencies..." echo "[3/9] Configuring dependencies..."
BUILD_ARGS=""
if [[ -n "$FOUND_GTK3_DEV" ]]
then
BUILD_ARGS="-DDEP_WX_GTK3=ON"
fi
if [[ -n "$BUILD_DEBUG" ]]
then
BUILD_ARGS="${BUILD_ARGS} -DCMAKE_BUILD_TYPE=Debug"
fi
# cmake deps # cmake deps
pushd deps/build pushd deps/build
if [[ -z "$FOUND_GTK3_DEV" ]] cmake .. $BUILD_ARGS
then echo "done"
echo -e "\nusing GTK2\n"
cmake ..
else
echo -e "\nusing GTK3\n"
cmake .. -DDEP_WX_GTK3=ON
fi
# &> $ROOT/build/Build.log # Capture all command output
echo "done"
echo "[4/9] Building dependencies..."
# make deps # make deps
echo "[4/9] Building dependencies..."
make -j$NCORES make -j$NCORES
echo "done"
# &> $ROOT/build/Build.log # Capture all command output
echo "done"
echo "[5/9] Renaming wxscintilla library..."
# rename wxscintilla # rename wxscintilla
echo "[5/9] Renaming wxscintilla library..."
pushd destdir/usr/local/lib pushd destdir/usr/local/lib
if [[ -z "$FOUND_GTK3_DEV" ]] if [[ -z "$FOUND_GTK3_DEV" ]]
then then
cp libwxscintilla-3.1.a libwx_gtk2u_scintilla-3.1.a cp libwxscintilla-3.1.a libwx_gtk2u_scintilla-3.1.a
else else
cp libwxscintilla-3.1.a libwx_gtk3u_scintilla-3.1.a cp libwxscintilla-3.1.a libwx_gtk3u_scintilla-3.1.a
fi fi
popd popd
# &> $ROOT/build/Build.log # Capture all command output echo "done"
echo "done"
echo "[6/9] Cleaning dependencies..."
# clean deps # clean deps
echo "[6/9] Cleaning dependencies..."
rm -rf dep_* rm -rf dep_*
popd popd
# &> $ROOT/build/Build.log # Capture all command output
echo "done" echo "done"
fi fi
if [[ -n "$BUILD_SLIC3R" ]] if [[ -n "$BUILD_SLIC3R" ]]
then then
echo "[7/9] Configuring Slic3r..." echo "[7/9] Configuring Slic3r..."
BUILD_ARGS=""
if [[ -n "$FOUND_GTK3_DEV" ]]
then
BUILD_ARGS="-DSLIC3R_GTK=3"
fi
if [[ -n "$BUILD_DEBUG" ]]
then
BUILD_ARGS="${BUILD_ARGS} -DCMAKE_BUILD_TYPE=Debug"
fi
# cmake # cmake
pushd build pushd build
if [[ -z "$FOUND_GTK3_DEV" ]] cmake .. -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DSLIC3R_STATIC=1 ${BUILD_ARGS}
then echo "done"
cmake .. -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DSLIC3R_STATIC=1
else
cmake .. -DSLIC3R_GTK=3 -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DSLIC3R_STATIC=1
fi
# &> $ROOT/build/Build.log # Capture all command output
echo "done"
echo "[8/9] Building Slic3r..."
# make Slic3r # make Slic3r
echo "[8/9] Building Slic3r..."
make -j$NCORES Slic3r make -j$NCORES Slic3r
# make .mo # make .mo
make gettext_po_to_mo make gettext_po_to_mo
popd popd
# &> $ROOT/build/Build.log # Capture all command output
echo "done" echo "done"
fi fi
@ -186,11 +188,11 @@ chmod 755 $ROOT/build/src/BuildLinuxImage.sh
echo "[9/9] Generating Linux app..." echo "[9/9] Generating Linux app..."
pushd build pushd build
if [[ -n "$BUILD_IMAGE" ]] if [[ -n "$BUILD_IMAGE" ]]
then then
$ROOT/build/src/BuildLinuxImage.sh -i $ROOT/build/src/BuildLinuxImage.sh -i
else else
$ROOT/build/src/BuildLinuxImage.sh $ROOT/build/src/BuildLinuxImage.sh
fi fi
# &> $ROOT/build/Build.log # Capture all command output popd
echo "done" echo "done"

View File

@ -42,7 +42,8 @@ with urlopen("https://api.github.com/repos/"+repo+"/actions/artifacts") as f:
artifacts = json.loads(f.read().decode('utf-8')); artifacts = json.loads(f.read().decode('utf-8'));
found_win = False; found_win = False;
found_linux = False; found_linux = False;
found_linux_appimage = False; found_linux_appimage_gtk2 = False;
found_linux_appimage_gtk3 = False;
found_macos = False; found_macos = False;
print("there is "+ str(artifacts["total_count"])+ " artifacts in the repo"); print("there is "+ str(artifacts["total_count"])+ " artifacts in the repo");
for entry in artifacts["artifacts"]: for entry in artifacts["artifacts"]:
@ -66,19 +67,23 @@ with urlopen("https://api.github.com/repos/"+repo+"/actions/artifacts") as f:
z = zipfile.ZipFile(io.BytesIO(resp.content)); z = zipfile.ZipFile(io.BytesIO(resp.content));
z.extractall(release_path); z.extractall(release_path);
os.rename(release_path+"/"+program_name+".dmg", release_path+"/"+program_name+"_"+version+"_macos_"+date_str+".dmg"); os.rename(release_path+"/"+program_name+".dmg", release_path+"/"+program_name+"_"+version+"_macos_"+date_str+".dmg");
if entry["name"] == "rc-"+program_name+"-AppImage.tar" and not found_linux_appimage: if entry["name"] == "rc-"+program_name+"-gtk2.AppImage" and not found_linux_appimage_gtk2:
found_linux_appimage = True; found_linux_appimage_gtk2 = True;
print("ask for: "+entry["archive_download_url"]);
resp = requests.get(entry["archive_download_url"], headers={'Authorization': 'token ' + github_auth_token,}, allow_redirects=True);
print("appimage: " +str(resp));
z = zipfile.ZipFile(io.BytesIO(resp.content));
z.extractall(release_path);
os.rename(release_path+"/"+program_name+"_ubu64.AppImage", release_path+"/"+program_name+"-ubuntu_18.04-gtk2-" + version + ".AppImage");
if entry["name"] == "rc-"+program_name+"-gtk3.AppImage" and not found_linux_appimage_gtk3:
found_linux_appimage_gtk3 = True;
print("ask for: "+entry["archive_download_url"]); print("ask for: "+entry["archive_download_url"]);
resp = requests.get(entry["archive_download_url"], headers={'Authorization': 'token ' + github_auth_token,}, allow_redirects=True); resp = requests.get(entry["archive_download_url"], headers={'Authorization': 'token ' + github_auth_token,}, allow_redirects=True);
print("appimage: " +str(resp)); print("appimage: " +str(resp));
z = zipfile.ZipFile(io.BytesIO(resp.content)); z = zipfile.ZipFile(io.BytesIO(resp.content));
z.extractall(release_path); z.extractall(release_path);
my_tar = tarfile.open(release_path+"/"+program_name+"_ubu64.AppImage.tar");
my_tar.extractall(release_path);
my_tar.close();
os.remove(release_path+"/"+program_name+"_ubu64.AppImage.tar");
os.rename(release_path+"/"+program_name+"_ubu64.AppImage", release_path+"/"+program_name+"-ubuntu_18.04-" + version + ".AppImage"); os.rename(release_path+"/"+program_name+"_ubu64.AppImage", release_path+"/"+program_name+"-ubuntu_18.04-" + version + ".AppImage");
if entry["name"] == "rc_linux.tar" and not found_linux: if entry["name"] == "rc_linux_gtk3.tar" and not found_linux:
found_linux = True; found_linux = True;
print("ask for: "+entry["archive_download_url"]); print("ask for: "+entry["archive_download_url"]);
resp = requests.get(entry["archive_download_url"], headers={'Authorization': 'token ' + github_auth_token,}, allow_redirects=True); resp = requests.get(entry["archive_download_url"], headers={'Authorization': 'token ' + github_auth_token,}, allow_redirects=True);