feat: Add vendored openssl dependency and specify macOS build targets… #4
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release | |
| on: | |
| push: | |
| tags: | |
| - "v*" | |
| jobs: | |
| publish: | |
| permissions: | |
| contents: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - platform: "macos-latest" # for macOS and iOS | |
| args: "--target universal-apple-darwin" | |
| - platform: "ubuntu-22.04" # for Linux | |
| args: "" | |
| - platform: "windows-latest" # for Windows | |
| args: "" | |
| runs-on: ${{ matrix.platform }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: setup node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: lts/* | |
| - name: setup bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: install dependencies (ubuntu only) | |
| if: matrix.platform == 'ubuntu-22.04' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf rpm | |
| - name: install rust stable | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }} | |
| - name: Rust cache | |
| uses: swatinem/rust-cache@v2 | |
| with: | |
| workspaces: "./src-tauri -> target" | |
| - name: install frontend dependencies | |
| run: bun install | |
| - name: build frontend | |
| run: bun run build | |
| - uses: tauri-apps/tauri-action@v0 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| tagName: v__VERSION__ # tauri-action replaces this with the version from tauri.conf.json | |
| releaseName: "Deras v__VERSION__" | |
| releaseBody: "See the assets below for the latest version of Deras." | |
| releaseDraft: true | |
| prerelease: false | |
| args: ${{ matrix.args }} | |
| build-android: | |
| permissions: | |
| contents: write | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: setup node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: lts/* | |
| - name: setup bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: install rust stable | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: aarch64-linux-android, armv7-linux-androideabi, i686-linux-android, x86_64-linux-android | |
| - name: setup java | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: "zulu" | |
| java-version: "17" | |
| - name: setup android sdk | |
| uses: android-actions/setup-android@v3 | |
| - name: install dependencies | |
| run: bun install | |
| - name: build frontend | |
| run: bun run build | |
| - name: build android | |
| run: | | |
| # Note: This requires proper android setup in src-tauri | |
| # For a real release, you'd need signing configs | |
| # bun tauri android build --debug | |
| npx tauri android build --debug | |
| - name: upload android artifacts | |
| uses: softprops/action-gh-release@v2 | |
| if: startsWith(github.ref, 'refs/tags/') | |
| with: | |
| files: | | |
| src-tauri/gen/android/app/build/outputs/apk/debug/*.apk | |
| src-tauri/gen/android/app/build/outputs/bundle/debug/*.aab | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |