cleanup virtual touchpad code. #5
This file contains 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: Produce Desktop Binary Builds | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- dev | |
#- master | |
- main | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
ENABLE_CODE_SIGNING: ${{ secrets.APPLE_CERTIFICATE }} | |
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} | |
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} | |
APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }} | |
APPLE_ID: ${{ secrets.APPLE_ID }} | |
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
permissions: | |
contents: write | |
jobs: | |
build: | |
#defaults: | |
# run: | |
# working-directory: GUI/ETVR | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: [18.x] | |
#, macos-latest | |
#windows-latest, | |
platform: [ubuntu-latest, windows-latest] | |
include: | |
#- os: ubuntu-18.04 | |
# rust_target: x86_64-unknown-linux-gnu | |
- os: windows-latest | |
rust_target: x86_64-pc-windows-msvc | |
#- os: macos-latest | |
# rust_target: x86_64-apple-darwin | |
#- os: macos-latest | |
# rust_target: aarch64-apple-darwin | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
token: ${{ env.GITHUB_TOKEN }} | |
- name: Build the App (Linux) | |
if: matrix.platform == 'ubuntu-latest' | |
uses: addnab/docker-run-action@v3 | |
with: | |
image: ghcr.io/zanzythebar/tauridocker:latest | |
options: -v ${{ github.workspace }}:/workspace | |
run: | | |
echo "::group::install node dependencies" | |
npm install -g pnpm | |
npm install -g typescript | |
pnpm install | |
echo "::group::tauri build" | |
pnpm tauri build | |
echo "::endgroup::" | |
- name: Archive the App (Linux) | |
if: matrix.platform == 'ubuntu-latest' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: production-files | |
path: | | |
src-tauri/target/release/bundle/deb/*.deb | |
src-tauri/target/release/bundle/appimage/*.AppImage | |
retention-days: 5 | |
if-no-files-found: error | |
- name: Verify build (Linux) | |
if: matrix.platform == 'ubuntu-latest' | |
run: | | |
ls -la src-tauri/target/release/bundle/appimage | |
ls -la src-tauri/target/release/bundle/deb | |
- name: Node.js setup ${{ matrix.node-version }} (Windows & MacOS) | |
if: matrix.platform == 'windows-latest' || matrix.platform == 'macos-latest' | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
#cache: "pnpm" | |
# node-version-file: '.nvmrc' | |
- name: Install dependencies (Windows & MacOS) | |
if: matrix.platform == 'windows-latest' || matrix.platform == 'macos-latest' | |
run: | | |
echo "::group::install node dependencies" | |
npm install -g pnpm | |
npm install -g typescript | |
pnpm install | |
echo "::endgroup::" | |
- name: Setup Rust (Windows & MacOS) | |
if: matrix.platform == 'windows-latest' || matrix.platform == 'macos-latest' | |
uses: actions-rs/toolchain@v1 | |
with: | |
default: true | |
override: true | |
profile: minimal | |
toolchain: stable | |
target: ${{ matrix.platform.rust_target }} | |
- name: Cache Rust (Windows & MacOS) | |
if: matrix.platform == 'windows-latest' || matrix.platform == 'macos-latest' | |
uses: Swatinem/rust-cache@v2 | |
with: | |
workspaces: "./src-tauri -> target" | |
- name: Build the app (Windows & MacOS) | |
if: matrix.platform == 'windows-latest' || matrix.platform == 'macos-latest' | |
uses: JonasKruckenberg/[email protected] | |
id: tauri_build | |
env: | |
GITHUB_TOKEN: ${{ env.GITHUB_TOKEN }} | |
ENABLE_CODE_SIGNING: ${{ env.APPLE_CERTIFICATE }} | |
#APPLE_CERTIFICATE: ${{ env.APPLE_CERTIFICATE }} | |
#APPLE_CERTIFICATE_PASSWORD: ${{ env.APPLE_CERTIFICATE_PASSWORD }} | |
#APPLE_SIGNING_IDENTITY: ${{ env.APPLE_SIGNING_IDENTITY }} | |
#APPLE_ID: ${{ env.APPLE_ID }} | |
#APPLE_PASSWORD: ${{ env.APPLE_PASSWORD }} | |
with: | |
target: ${{ matrix.platform.rust_target }} | |
- name: Archive the App (Windows & MacOS) | |
if: matrix.platform == 'windows-latest' || matrix.platform == 'macos-latest' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: production-files | |
path: "${{ join(fromJSON(steps.tauri_build.outputs.artifacts), '\n') }}" | |
deploy: | |
runs-on: ubuntu-latest | |
name: Deploy | |
needs: [build] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Create Directory | |
run: mkdir -p dist | |
- name: Download artifact | |
uses: actions/download-artifact@v2 | |
with: | |
name: production-files | |
path: ./dist | |
- name: Setup node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- run: npm install -g conventional-changelog-conventionalcommits | |
- run: npm install -g [email protected] | |
- run: npm install -g @semantic-release/exec | |
- run: npm install -g @semantic-release/git | |
- run: npm install -g @semantic-release/release-notes-generator | |
- run: npm install -g @semantic-release/changelog | |
- run: npm install -g @semantic-release/github | |
- name: Release | |
env: | |
GITHUB_TOKEN: ${{ env.GITHUB_TOKEN }} | |
run: | | |
sudo apt-get install -y jq | |
chmod +x ./scripts/prepareCMD.sh | |
semantic-release | |
cleanup: | |
name: Cleanup actions | |
needs: | |
- deploy | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- name: "♻️ remove build artifacts" | |
uses: geekyeggo/delete-artifact@v1 | |
with: | |
name: production-files |