# What software is installed by default: # https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources name: build on: push: pull_request: defaults: run: shell: bash jobs: build-linux: runs-on: ubuntu-latest steps: - name: Check out repo uses: actions/checkout@v4 - name: Set up pnpm uses: pnpm/action-setup@v4 with: version: 10 # https://github.com/tauri-apps/tauri-action?tab=readme-ov-file#usage # https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/customizing-github-hosted-runners#installing-software-on-ubuntu-runners - name: Install tauri dependencies run: | sudo apt update sudo apt install libwebkit2gtk-4.1-dev - name: Build run: ./build - name: Upload uses: actions/upload-artifact@v4 with: name: tta-linux path: | target/release/tta-cli target/release/tta-app build-windows: runs-on: windows-latest steps: - name: Check out repo uses: actions/checkout@v4 - name: Set up pnpm uses: pnpm/action-setup@v4 with: version: 10 - name: Build run: ./build - name: Upload uses: actions/upload-artifact@v4 with: name: tta-windows path: | target/release/tta-cli.exe target/release/tta-app.exe build-android: runs-on: ubuntu-latest steps: - name: Check out repo uses: actions/checkout@v4 - name: Set up pnpm uses: pnpm/action-setup@v4 with: version: 10 # https://v2.tauri.app/start/prerequisites/#android - name: Set up Rust run: rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android # https://v2.tauri.app/distribute/sign/android/ - name: Set up Android signing run: | cd tta-app/src-tauri/gen/android echo "keyAlias=${{ secrets.ANDROID_KEY_ALIAS }}" > key.properties echo "password=${{ secrets.ANDROID_KEY_PASSWORD }}" >> key.properties base64 -d <<< "${{ secrets.ANDROID_KEY_BASE64 }}" > $RUNNER_TEMP/keystore.jks echo "storeFile=$RUNNER_TEMP/keystore.jks" >> key.properties - name: Build run: | export NDK_HOME="$ANDROID_NDK_HOME" ./build_android - name: Upload uses: actions/upload-artifact@v4 with: name: tta-android path: target/release/tta-app.apk release: runs-on: ubuntu-latest if: ${{ startsWith(github.ref, 'refs/tags/v') }} needs: - build-linux - build-windows - build-android permissions: contents: write steps: - name: Download artifacts uses: actions/download-artifact@v4 - name: List artifacts run: ls -l - name: Zip artifacts run: | zip -r tta-linux.zip tta-linux zip -r tta-windows.zip tta-windows mv tta-android/tta-app.apk tta-android.apk - name: List artifacts again run: ls -l - name: Create new release uses: softprops/action-gh-release@v2 with: body: Automated release files: | tta-linux.zip tta-windows.zip tta-android.apk