on: [push, workflow_dispatch]

jobs:
  build-element:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
        
      - name: Install dependencies
        run: >
          apt update && apt install -y curl wget gpg &&
          mkdir -p /etc/apt/keyrings &&
          (curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg) &&
          (echo 'deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main' | tee /etc/apt/sources.list.d/nodesource.list) &&
          apt update && apt install -y nodejs && npm install -g yarn
        
      - name: Download Cringe Studios configuration
        run: "mkdir cringe && wget -O cringe/config.json https://chat.cringe-studios.com/config.json"
        
      - name: Docker setup
        run: "yarn run docker:setup"
        
      - name: Docker build
        run: >
          bash -c "scripts/in-docker.sh bash -c 'dpkg --add-architecture i386 && apt update && apt install -y rpm wine mono-devel &&
          yarn add matrix-seshat &&
          yarn &&
          yarn run fetch --noverify --cfgdir cringe &&
          SQLCIPHER_BUNDLED=1 yarn run docker:build:native &&
          yarn run docker:build --linux rpm --linux deb --linux tar.xz --linux AppImage --win squirrel'"