name: Modrinth App build on: push: branches: - main tags: - 'v*' paths: - .github/workflows/theseus-build.yml - 'apps/app/**' - 'apps/app-frontend/**' - 'packages/app-lib/**' - 'packages/app-macros/**' - 'packages/assets/**' - 'packages/ui/**' - 'packages/utils/**' workflow_dispatch: inputs: sign-windows-binaries: description: Sign Windows binaries type: boolean default: false required: false environment: description: Environment type: choice options: - prod - staging default: prod required: false jobs: build: name: Build strategy: fail-fast: false matrix: platform: [macos-latest, windows-latest, ubuntu-latest] include: - platform: macos-latest artifact-target-name: universal-apple-darwin - platform: windows-latest artifact-target-name: x86_64-pc-windows-msvc - platform: ubuntu-latest artifact-target-name: x86_64-unknown-linux-gnu runs-on: ${{ matrix.platform }} steps: - name: Check out code uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Rust toolchain uses: actions-rust-lang/setup-rust-toolchain@v1 with: rustflags: '' target: ${{ startsWith(matrix.platform, 'macos') && 'x86_64-apple-darwin' || '' }} - name: Install pnpm uses: pnpm/action-setup@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: .nvmrc cache: pnpm - name: Generate tauri-dev.conf.json shell: bash run: | GIT_HASH=$(git rev-parse --short HEAD) cat > apps/app/tauri-dev.conf.json <