name: Linux Build on: [push, pull_request] jobs: build: runs-on: ubuntu-18.04 steps: - name: Checkout uses: actions/checkout@v2.3.4 with: fetch-depth: 0 - name: Install Node uses: actions/setup-node@v2.1.5 with: node-version: 14 - name: Install deps run: | sudo apt-get update sudo apt-get install bsdtar zsh npm i -g yarn@1.19.1 cd app yarn cd .. rm app/node_modules/.yarn-integrity yarn npm run patch - name: Build native deps run: scripts/build-native.js - name: Webpack run: yarn run build - name: Prepackage plugins run: scripts/prepackage-plugins.js - name: Build packages run: scripts/build-linux.js env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} USE_HARD_LINKS: false # DEBUG: electron-builder,electron-builder:* - name: Build web resources run: zsh -c 'tar czf terminus-web.tar.gz (terminus-*|web)/dist' - name: Upload symbols run: | sudo npm install -g @sentry/cli --unsafe-perm ./scripts/sentry-upload.js env: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} - name: Package artifacts run: | mkdir artifact-deb mv dist/*.deb artifact-deb/ || true mkdir artifact-rpm mv dist/*.rpm artifact-rpm/ || true mkdir artifact-pacman mv dist/*.pacman artifact-pacman/ || true mkdir artifact-snap mv dist/*.snap artifact-snap/ || true mkdir artifact-tar.gz mv dist/*.tar.gz artifact-tar.gz/ || true mkdir artifact-web mv terminus-web.tar.gz artifact-web/ || true - uses: actions/upload-artifact@master name: Upload DEB with: name: Linux DEB path: artifact-deb - uses: actions/upload-artifact@master name: Upload RPM with: name: Linux RPM path: artifact-rpm - uses: actions/upload-artifact@master name: Upload Pacman Package with: name: Linux Pacman path: artifact-pacman - uses: actions/upload-artifact@master name: Upload Snap with: name: Linux Snap path: artifact-snap - uses: actions/upload-artifact@master name: Upload Linux tarball with: name: Linux tarball path: artifact-tar.gz - uses: actions/upload-artifact@master name: Upload web tarball with: name: Web tarball path: artifact-web