jsketcher/.github/workflows/ci.yaml
DaOfficialWizard 3a42171108
Fix windows CI (#4)
* 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))

* fix: appimage failing to build

* fix: test ubuntu 18.04

* fix: test ubuntu 18.04

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* feat: update ci to use docker container

* chore(minor): 1.0.0-tauri.2 [skip ci]

## [1.0.0-tauri.2](https://github.com/ZanzyTHEbar/jsketcher/compare/v1.0.0-tauri.1...v1.0.0-tauri.2) (2023-05-11)

### 🐛 Bug Fixes

* appimage failing to build ([8dc6217](8dc62170a9))
* test ubuntu 18.04 ([8f55f4d](8f55f4d1c1))
* test ubuntu 18.04 ([0afd146](0afd14642b))

### 🍕 Features

* update ci to use docker container ([7bcacb0](7bcacb0251))
* update ci to use docker container ([98de939](98de93981f))
* update ci to use docker container ([0750c00](0750c006f3))
* update ci to use docker container ([715780f](715780f8f6))
* update ci to use docker container ([ccbacdb](ccbacdba32))
* update ci to use docker container ([60aa80d](60aa80d636))
* update ci to use docker container ([f629258](f629258426))
* update ci to use docker container ([278cf82](278cf82cea))
* update ci to use docker container ([02ec38c](02ec38c1b7))
* update ci to use docker container ([8fb7924](8fb7924dc2))
* update ci to use docker container ([d0493b3](d0493b3e0c))
* update ci to use docker container ([09fbb4f](09fbb4f9b9))
* update ci to use docker container ([c7e39b9](c7e39b92f7))
* update ci to use docker container ([d9221a7](d9221a77fe))
* update ci to use docker container ([9e96489](9e96489eb7))
* update ci to use docker container ([765b708](765b708a19))
* update ci to use docker container ([484b722](484b722a49))
* update ci to use docker container ([1023d90](1023d90529))
* update ci to use docker container ([1d9fd84](1d9fd84aa2))

* feat: update rust deps

* chore(minor): 1.0.0-tauri.3 [skip ci]

## [1.0.0-tauri.3](https://github.com/ZanzyTHEbar/jsketcher/compare/v1.0.0-tauri.2...v1.0.0-tauri.3) (2023-05-11)

### 🍕 Features

* update rust deps ([b809c28](b809c28b8c))

* fix: wasm not loading in webkit

* chore(patch): 1.0.0-tauri.4 [skip ci]

## [1.0.0-tauri.4](https://github.com/ZanzyTHEbar/jsketcher/compare/v1.0.0-tauri.3...v1.0.0-tauri.4) (2023-05-11)

### 🐛 Bug Fixes

* wasm not loading in webkit ([0e74582](0e74582848))

* feat: add windows binary

* fix: windows ci

* fix: windows ci deps

---------

Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
2023-05-11 23:33:32 +01:00

183 lines
5.9 KiB
YAML

name: Produce Desktop Binary Builds
on:
workflow_dispatch:
push:
branches:
- tauri
- feature/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, 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/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 }}
- 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 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