Sharkey/.github/workflows/package.yml
2023-10-07 17:36:54 +02:00

96 lines
2.9 KiB
YAML

name: Publish prebuild
on:
push:
branches:
- stable
release:
types: [published]
workflow_dispatch:
jobs:
build_binaries:
name: Build & ship binaries
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.x]
python-version: [3.11.x]
if: github.repository == 'transfem-org/Sharkey'
permissions:
contents: read
packages: write
steps:
- name: Check out the repo
uses: actions/checkout@v4.1.0
with:
lfs: true
submodules: 'recursive'
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Setup Python
uses: actions/setup-python@v4.7.1
with:
python-version: ${{ matrix.python-version }}
- name: Cache APT Packages
uses: awalsh128/cache-apt-pkgs-action@v1.3.0
with:
packages: "build-essential binfmt-support qemu-user-static ffmpeg tini curl libjemalloc-dev libjemalloc2 uuid-dev libx11-dev libxkbfile-dev execstack libgconf-2-4 libsecret-1-dev"
- name: Cache node modules
uses: actions/cache@v3
with:
path: ~/.npm
key: v1-npm-deps-${{ hashFiles('**/package-lock.json') }}
restore-keys: v1-npm-deps-
- uses: MOZGIII/install-ldid-action@v1
with:
tag: v2.1.5-procursus2
- name: Build
run: |
corepack enable
corepack prepare pnpm@latest --activate
pnpm install
npm install -g pkg
npm install -g rollup
npm install -g @rollup/plugin-node-resolve
pnpm run build
cd packages/backend
mkdir dist
rollup ./built/boot/entry.js --file ./dist/bundle.js --format cjs -p @rollup/plugin-node-resolve
pkg --debug --public ./dist/bundle.js --targets latest-linuxstatic-x64,latest-linuxstatic-arm64,latest-macos-x64,latest-macos-arm64,latest-win-x64
ls
- name: Upload linux x64
uses: actions/upload-artifact@v3.1.3
with:
name: sharkey-linux-x64
path: packages/backend/bundle-linuxstatic-x64
- name: Upload linux arm64
uses: actions/upload-artifact@v3.1.3
with:
name: sharkey-linux-arm64
path: packages/backend/bundle-linuxstatic-arm64
- name: Upload mac arm64
uses: actions/upload-artifact@v3.1.3
with:
name: sharkey-macos-arm64
path: packages/backend/bundle-macos-arm64
- name: Upload mac x64
uses: actions/upload-artifact@v3.1.3
with:
name: sharkey-macos-arm64
path: packages/backend/bundle-macos-x64
- name: Upload Windows
uses: actions/upload-artifact@v3.1.3
with:
name: sharkey-win-x64.exe
path: packages/backend/bundle-win-x64.exe