-
Notifications
You must be signed in to change notification settings - Fork 289
117 lines (108 loc) · 5.98 KB
/
build_ubuntu.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
name: Build Linux
on: [pull_request]
jobs:
appimage-builder:
name: Linux AppImage Build
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install cmake libgl1-mesa-dev libgtk-3-dev libxkbcommon-dev libunwind-dev libfuse2 -y
- name: Install dependencies from BuildLinux.sh
shell: bash
run: sudo ./BuildLinux.sh -ur
- name: Fix permissions
shell: bash
run: sudo chown $USER -R ./
- name: Build deps
id: cache_deps
uses: actions/cache@v4
env:
cache-name: ${{ runner.os }}-cache-bambustudio_deps_x64
with:
path: ${{ github.workspace }}/deps/build/destdir
key: build-${{ env.cache-name }}
- if: ${{ steps.cache_deps.outputs.cache-hit != 'true' }}
name: Build deps
working-directory: ${{ github.workspace }}
continue-on-error: true
run: ./BuildLinux.sh -dsr
- name: Build Studio
shell: bash
run: ./BuildLinux.sh -ir
- uses: actions/upload-artifact@v4
with:
name: BambuStudio_Linux_ubu64_20.04
path: './build/BambuStudio_ubu64.AppImage'
appimage-builder-using-container:
name: Linux AppImage Build Ubuntu 20.04 using container
runs-on: ubuntu-latest
# free disk space ref: https://github.com/actions/runner-images/issues/2840#issuecomment-1540506686
steps:
- name: Check disk space
run: df -h
- name: Free disk space
run: |
sudo docker rmi $(docker image ls -aq) || true
sudo swapoff /swapfile || true
sudo rm -rf /swapfile /usr/share/dotnet /usr/local/lib/android /opt/ghc || true
sudo apt purge aria2 ansible azure-cli shellcheck rpm xorriso zsync \
clang-6.0 lldb-6.0 lld-6.0 clang-format-6.0 clang-8 lldb-8 lld-8 clang-format-8 \
clang-9 lldb-9 lld-9 clangd-9 clang-format-9 dotnet-sdk-3.0 dotnet-sdk-3.1=3.1.101-1 \
esl-erlang firefox g++-8 g++-9 gfortran-8 gfortran-9 google-chrome-stable \
google-cloud-sdk ghc-8.0.2 ghc-8.2.2 ghc-8.4.4 ghc-8.6.2 ghc-8.6.3 ghc-8.6.4 \
ghc-8.6.5 ghc-8.8.1 ghc-8.8.2 ghc-8.8.3 ghc-8.10.1 cabal-install-2.0 cabal-install-2.2 \
cabal-install-2.4 cabal-install-3.0 cabal-install-3.2 heroku imagemagick \
libmagickcore-dev libmagickwand-dev libmagic-dev ant ant-optional kubectl \
mercurial apt-transport-https mono-complete mysql-client libmysqlclient-dev \
mysql-server mssql-tools unixodbc-dev yarn bazel chrpath libssl-dev libxft-dev \
libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev php7.1 php7.1-bcmath \
php7.1-bz2 php7.1-cgi php7.1-cli php7.1-common php7.1-curl php7.1-dba php7.1-dev \
php7.1-enchant php7.1-fpm php7.1-gd php7.1-gmp php7.1-imap php7.1-interbase php7.1-intl \
php7.1-json php7.1-ldap php7.1-mbstring php7.1-mcrypt php7.1-mysql php7.1-odbc \
php7.1-opcache php7.1-pgsql php7.1-phpdbg php7.1-pspell php7.1-readline php7.1-recode \
php7.1-snmp php7.1-soap php7.1-sqlite3 php7.1-sybase php7.1-tidy php7.1-xml \
php7.1-xmlrpc php7.1-xsl php7.1-zip php7.2 php7.2-bcmath php7.2-bz2 php7.2-cgi \
php7.2-cli php7.2-common php7.2-curl php7.2-dba php7.2-dev php7.2-enchant php7.2-fpm \
php7.2-gd php7.2-gmp php7.2-imap php7.2-interbase php7.2-intl php7.2-json php7.2-ldap \
php7.2-mbstring php7.2-mysql php7.2-odbc php7.2-opcache php7.2-pgsql php7.2-phpdbg \
php7.2-pspell php7.2-readline php7.2-recode php7.2-snmp php7.2-soap php7.2-sqlite3 \
php7.2-sybase php7.2-tidy php7.2-xml php7.2-xmlrpc php7.2-xsl php7.2-zip php7.3 \
php7.3-bcmath php7.3-bz2 php7.3-cgi php7.3-cli php7.3-common php7.3-curl php7.3-dba \
php7.3-dev php7.3-enchant php7.3-fpm php7.3-gd php7.3-gmp php7.3-imap php7.3-interbase \
php7.3-intl php7.3-json php7.3-ldap php7.3-mbstring php7.3-mysql php7.3-odbc \
php7.3-opcache php7.3-pgsql php7.3-phpdbg php7.3-pspell php7.3-readline php7.3-recode \
php7.3-snmp php7.3-soap php7.3-sqlite3 php7.3-sybase php7.3-tidy php7.3-xml \
php7.3-xmlrpc php7.3-xsl php7.3-zip php7.4 php7.4-bcmath php7.4-bz2 php7.4-cgi \
php7.4-cli php7.4-common php7.4-curl php7.4-dba php7.4-dev php7.4-enchant php7.4-fpm \
php7.4-gd php7.4-gmp php7.4-imap php7.4-interbase php7.4-intl php7.4-json php7.4-ldap \
php7.4-mbstring php7.4-mysql php7.4-odbc php7.4-opcache php7.4-pgsql php7.4-phpdbg \
php7.4-pspell php7.4-readline php7.4-snmp php7.4-soap php7.4-sqlite3 php7.4-sybase \
php7.4-tidy php7.4-xml php7.4-xmlrpc php7.4-xsl php7.4-zip php-amqp php-apcu \
php-igbinary php-memcache php-memcached php-mongodb php-redis php-xdebug \
php-zmq snmp pollinate libpq-dev postgresql-client powershell ruby-full \
sphinxsearch subversion mongodb-org -yq >/dev/null 2>&1 || true
sudo apt-get autoremove -y >/dev/null 2>&1 || true
sudo apt-get autoclean -y >/dev/null 2>&1 || true
- name: Check disk space
run: df -h
- uses: actions/checkout@v4
- name: Install podman
run: |
sudo apt-get update
sudo apt-get install -y podman
- name: Build
shell: bash
run: |
rm -rf build
podman buildx build --build-arg BUILD_LINUX_EXTRA_ARGS=-r -t bambu-studio-builder:latest .
podman run -d -it --name bambu-studio-builder bambu-studio-builder:latest /bin/bash -c 'tail -f /dev/null'
podman cp bambu-studio-builder:/BambuStudio/build/BambuStudio_ubu64.AppImage ./
podman stop bambu-studio-builder
podman rm bambu-studio-builder
- uses: actions/upload-artifact@v4
with:
name: BambuStudio_Linux_ubu64_using_container
path: './BambuStudio_ubu64.AppImage'