jsketcher/.github/workflows/ci.yaml
DaOfficialWizard b66cd019ed
Tauri (#1)
* fix: release to tauri branch

* fix: release to tauri branch

* fix: release to tauri branch

* fix: release to tauri

* fix: fix app not loading on linux builds

- update tauri
- fix dist directory path

BREAKING CHANGES

* fix: update readme

* fix: semantic-release

* Update .releaserc

* Update ci.yaml

* fix: Update .releaserc

* fix: remove repo from package.json

* chore(major): 1.0.0-tauri.1 [skip ci]

## 1.0.0-tauri.1 (2023-05-09)

### ⚠ BREAKING CHANGES

* CHANGES

### 🍕 Features

* add setup scripts for setting up tauri dev environment ([0c41a33](0c41a33d0e))
* **dxf:** add support for dimensions in dxf. ([56c884c](56c884ccfd))
* add support for dxf blocks ([#200](https://github.com/ZanzyTHEbar/jsketcher/issues/200)) ([322d47f](322d47f802))
* add support for dxf files import ([2fa2866](2fa2866296))
* finish up CI system ([5a688d1](5a688d1a9e))
* initial cir release ([2f94a6e](2f94a6eb82))
* initial tauri commit ([0a0bb54](0a0bb5485e))
* update tauri version ([90168da](90168da42c))

### 🐛 Bug Fixes

* .releasesrc file not having a main branch ([04f2e2c](04f2e2c6b7))
* .releasesrc file not having a main branch ([25ae8a4](25ae8a464b))
* **dxf:** add dimLayers to the export. ([#183](https://github.com/ZanzyTHEbar/jsketcher/issues/183)) ([a3349b5](a3349b5da4))
* fix app not loading on linux builds ([9ef599d](9ef599ddc9))
* fix release asset types ([8f73410](8f73410c74))
* release to tauri ([0ba5387](0ba5387601))
* release to tauri branch ([11fcf2e](11fcf2e87a))
* release to tauri branch ([e8486a5](e8486a5e65))
* release to tauri branch ([6076573](6076573c98))
* remove caching of pnpm in ci ([96165f3](96165f3e1e))
* remove old path ([f0b426c](f0b426c14f))
* remove repo from package.json ([dd099b8](dd099b8ad8))
* script for linux ([46bda82](46bda82726))
* semantic-release ([3edb4cf](3edb4cf635))
* Update .releaserc ([3343d2c](3343d2cb4a))
* update readme ([b00299d](b00299d5c1))
* windows failing to build ([def0782](def0782b76))

---------

Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
2023-05-09 12:19:34 +01:00

161 lines
5 KiB
YAML

name: Produce Desktop Binary Builds
on:
workflow_dispatch:
push:
branches:
- tauri
#- 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]
include:
- os: ubuntu-latest
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: Node.js setup ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
#cache: "pnpm"
# node-version-file: '.nvmrc'
- name: "Setup Rust"
uses: actions-rs/toolchain@v1
with:
default: true
override: true
profile: minimal
toolchain: stable
target: ${{ matrix.platform.rust_target }}
- uses: Swatinem/rust-cache@v2
with:
workspaces: "./src-tauri -> target"
- name: Install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf
- name: Install dependencies (PNPM)
run: |
npm install -g pnpm
npm install -g typescript
pnpm install
- uses: JonasKruckenberg/tauri-build@v1.2.3
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 }}
- uses: actions/upload-artifact@v3
with:
name: production-files
path: "${{ join(fromJSON(steps.tauri_build.outputs.artifacts), '\n') }}"
#- name: Build the app
# uses: tauri-apps/tauri-action@v0
# env:
# GITHUB_TOKEN: ${{ env.GITHUB_TOKEN }}
# TAURI_PRIVATE_KEY: ${{ env.TAURI_PRIVATE_KEY }}
# TAURI_KEY_PASSWORD: ${{ env.TAURI_KEY_PASSWORD }}
# with:
# # tauri-action replaces \_\_VERSION\_\_ with the app version
# tagName: eyetrackvr-v__VERSION__
# releaseName: "EyeTrackApp v__VERSION__" # name of the release
# releaseBody: "See the assets to download this version and install." # message to include in the release
# releaseDraft: true # set to false to publish the release as a finished product
# prerelease: false # set to true to mark the release as a pre-release
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 semantic-release@v21.0.2
- 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