name: 'setup' description: 'Setup project dependencies' inputs: backend: description: 'Whether to setup backend dependencies' required: false default: 'true' frontend: description: 'Whether to setup frontend dependencies' required: false default: 'true' skip-wails: description: 'Whether to skip Wails installation' required: false default: 'false' runs: using: 'composite' steps: - uses: actions/setup-go@v6 with: go-version: 1.25 - uses: pnpm/action-setup@v5 if: ${{ inputs.frontend == 'true' }} with: version: 10 - uses: actions/setup-node@v6 if: ${{ inputs.frontend == 'true' }} with: node-version: 22 cache: 'pnpm' cache-dependency-path: frontend/pnpm-lock.yaml - name: Install Wails if: ${{ inputs.backend == 'true' && inputs.skip-wails != 'true' }} shell: bash run: go install github.com/wailsapp/wails/v2/cmd/wails@v2.15.0 # Any go operation on linux will require these - name: Install additional dependencies if: ${{ runner.os == 'Linux' && inputs.backend == 'true' }} shell: bash run: | sudo apt update if ! pkg-config --exists webkit2gtk-4.1; then sudo apt -y install libwebkit2gtk-4.1-dev fi sudo apt -y install libgtk-3-dev patchelf librsvg2-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav