Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
09ec650
chore: add github actions workflow
ThatDeparted2061 Mar 12, 2025
9d42095
fix: errors in github workflow
ThatDeparted2061 Mar 12, 2025
a38dbf2
fix: mac os build
ThatDeparted2061 Mar 12, 2025
9320a89
fox linux build
ThatDeparted2061 Mar 12, 2025
ecc8f1c
Fix: for ubuntu 24.04
ThatDeparted2061 Mar 12, 2025
f5d9981
Fix: ubuntu fix
ThatDeparted2061 Mar 12, 2025
4da9b26
Fix: windows fix
ThatDeparted2061 Mar 12, 2025
25dff1d
chore: add build desktop.js
ThatDeparted2061 Mar 12, 2025
b522526
update package.json
ThatDeparted2061 Mar 12, 2025
6e6670d
fix css warnings
ThatDeparted2061 Mar 12, 2025
0bfb41b
fix: address ubuntu bild failures
ThatDeparted2061 Mar 12, 2025
a46b001
fix: try ubuntu older version
ThatDeparted2061 Mar 12, 2025
d320345
fix: try ubuntu older version
ThatDeparted2061 Mar 12, 2025
42f6991
fix: try ubuntu older version
ThatDeparted2061 Mar 12, 2025
89438b2
chore: make ubuntu build to latest
ThatDeparted2061 Mar 12, 2025
78c6122
fix: resolve coderabbit
ThatDeparted2061 Mar 12, 2025
564f7ba
fix: resolve linting errors
ThatDeparted2061 Mar 12, 2025
102df6b
chore: update linux build as per tauri v2
ThatDeparted2061 Mar 13, 2025
e0f7288
chore: seperate job release for ubuntu
ThatDeparted2061 Mar 13, 2025
3a3ef20
chore: Combine CI
ThatDeparted2061 Mar 17, 2025
8d4b30c
chore: upgrade codeQl to v3 to address deprecation
ThatDeparted2061 Mar 17, 2025
227cfcd
chore: add desktop test
ThatDeparted2061 Mar 17, 2025
533b2b0
fix: fix ci failures
ThatDeparted2061 Mar 17, 2025
153913a
fix:fix tauri build failure
ThatDeparted2061 Mar 17, 2025
5785687
fix:fix tauri build failure
ThatDeparted2061 Mar 17, 2025
1ae3da6
refactor: update package.json
ThatDeparted2061 Mar 17, 2025
64f9406
chore: add CD.yml
ThatDeparted2061 Mar 17, 2025
81b858d
chore: create release.yml
ThatDeparted2061 Mar 24, 2025
741c7f5
chore: create release.yml
ThatDeparted2061 Mar 24, 2025
dbfb173
add
ThatDeparted2061 Mar 24, 2025
9cb35ae
add
ThatDeparted2061 Mar 24, 2025
7811918
Merge branch 'CircuitVerse:main' into main
ThatDeparted2061 Mar 29, 2025
80c9ca0
showcase
ThatDeparted2061 Apr 8, 2025
2bc0178
chore: upgrade workflows
ThatDeparted2061 Apr 8, 2025
fb2b79d
resolve codeql
ThatDeparted2061 Apr 8, 2025
f612a0b
resolve json
ThatDeparted2061 Apr 8, 2025
acbf6c6
chore: workflow update
ThatDeparted2061 Apr 8, 2025
3346ce2
chore: test push
ThatDeparted2061 Apr 8, 2025
e501723
test push 2
ThatDeparted2061 Apr 8, 2025
395d062
test push 3
ThatDeparted2061 Apr 8, 2025
9a5ef17
temp changes made
ThatDeparted2061 Apr 8, 2025
2acb66d
making temporary changes for testing
ThatDeparted2061 Apr 8, 2025
5b1df09
making a test change
ThatDeparted2061 Apr 9, 2025
8a64d5c
Merge branch 'CircuitVerse:main' into main
ThatDeparted2061 Jun 10, 2025
dc1dfd9
Merge branch 'CircuitVerse:main' into main
ThatDeparted2061 Jul 31, 2025
db86766
feat: Linux code signing
ThatDeparted2061 Aug 2, 2025
a83cda6
Merge branch 'CircuitVerse:main' into main
ThatDeparted2061 Aug 2, 2025
bf3dc40
fix: add signed asset
ThatDeparted2061 Aug 2, 2025
0c2e998
fix: add signed asset
ThatDeparted2061 Aug 2, 2025
671e59e
fix: add signed asset
ThatDeparted2061 Aug 2, 2025
643564b
fix: add signed asset
ThatDeparted2061 Aug 2, 2025
b6ea9f0
fix: correct imports
ThatDeparted2061 Aug 2, 2025
8bdf0b4
fix: correct imports
ThatDeparted2061 Aug 2, 2025
73fa000
fix: update gpg keys
ThatDeparted2061 Aug 2, 2025
fefc1f6
fix: update gpg keys
ThatDeparted2061 Aug 2, 2025
cf66b66
fix: update gpg keys
ThatDeparted2061 Aug 2, 2025
145e71e
fix: update gpg keys
ThatDeparted2061 Aug 2, 2025
6cceca4
fix: update gpg keys
ThatDeparted2061 Aug 2, 2025
e45f1a9
fix: update gpg keys
ThatDeparted2061 Aug 2, 2025
27029ba
fix: add linux signing key id to secrets
ThatDeparted2061 Aug 3, 2025
c87d776
fix: add linux signing key id to secrets
ThatDeparted2061 Aug 3, 2025
f5ac2b8
chore: add semantic versioning to the release
ThatDeparted2061 Aug 3, 2025
48db964
fix: fix semantic versioning
ThatDeparted2061 Aug 3, 2025
68014bc
fix: resolve conflicts
ThatDeparted2061 Aug 6, 2025
2671740
fix: backtrack semantic versioning
ThatDeparted2061 Aug 6, 2025
4fecf85
chore: remove .releaserc.json
ThatDeparted2061 Aug 6, 2025
c9d5643
chore: remove semantic-versioning from package.json
ThatDeparted2061 Aug 6, 2025
5e6f58b
fix: fix manual release
ThatDeparted2061 Aug 17, 2025
2e20b2c
fix: fix broken semantic release
ThatDeparted2061 Aug 17, 2025
814d751
fix: fix broken semantic release
ThatDeparted2061 Aug 17, 2025
d523053
fix: fix semantic release
ThatDeparted2061 Aug 17, 2025
3211558
feat: Add conventional commit file
ThatDeparted2061 Aug 17, 2025
dcedb46
chore: add semantic release to tauri release
ThatDeparted2061 Aug 17, 2025
b061e55
chore(release): 3.3.0 [skip ci]
semantic-release-bot Aug 17, 2025
1b2ba95
chore: combine yml files
ThatDeparted2061 Aug 18, 2025
881ca7a
fix: fix the release breakdown
ThatDeparted2061 Aug 18, 2025
9619a41
chore: add file
ThatDeparted2061 Aug 25, 2025
22cbd41
fix: fix the infinite loop for v1
ThatDeparted2061 Sep 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .github/workflows/Conventional-commits.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Conventional Commits

on:
pull_request:
branches: [ main ]

jobs:
build:
name: Conventional Commits
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: webiny/action-conventional-commits@v1.3.0
53 changes: 53 additions & 0 deletions .github/workflows/Tauri-testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Desktop Simulator Tests

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '16 5 * * 0'

jobs:
desktop-simulator-tests:
name: Desktop Simulator Tests
runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22 # Use Node.js 22

- name: Install Dependencies
run: npm install

- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true

- name: Install Tauri CLI
run: cargo install tauri-cli

- name: Debug Environment
run: |
echo "Node.js version: $(node -v)"
echo "npm version: $(npm -v)"
echo "Rust version: $(rustc --version)"
echo "Tauri CLI version: $(tauri --version)"

- name: Start Mock API
run: |
npm install -g json-server
json-server --watch mock-api.json --port 3000 &

- name: Build Tauri App using build-desktop.js
run: |
node build-desktop.js


2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,4 @@ jobs:
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
category: "/language:${{matrix.language}}"
217 changes: 217 additions & 0 deletions .github/workflows/desktoprelease.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,217 @@
# Unified GitHub Actions workflow for creating a release, building multi-platform assets,
# and attaching them to the new release.

name: Unified Release and Deploy

# This workflow is triggered manually.
# It is designed to be run after a series of merged Pull Requests have accumulated.
on:
workflow_dispatch:

# The permissions required for the jobs.
permissions:
contents: write # For creating releases and pushing tags/commits
issues: write # For managing issues and comments
pull-requests: write # For managing pull requests
id-token: write # For OIDC authentication, if needed

jobs:
# 1. This job handles the release creation and versioning using semantic-release.
# It determines the next version, generates the changelog, and creates the
# new GitHub Release.
release:
name: Create Release
runs-on: ubuntu-latest
outputs:
new_release_published: ${{ steps.semantic.outputs.new_release_published }}
new_release_version: ${{ steps.semantic.outputs.new_release_version }}

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # Required for semantic-release to analyze history

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "lts/*"

- name: Install semantic-release and plugins
run: |
npm init -y
npm install --no-save \
semantic-release \
@semantic-release/commit-analyzer \
@semantic-release/release-notes-generator \
@semantic-release/changelog \
@semantic-release/github \
@semantic-release/git \
conventional-changelog-conventionalcommits
# semantic-release-pub plugin is specific to Dart/Flutter, we will not use it here
# as the user's goal is a Tauri app.

- name: Create semantic-release config file
run: |
echo '{
"branches": ["main"],
"plugins": [
["@semantic-release/commit-analyzer", {
"preset": "conventionalcommits"
}],
["@semantic-release/release-notes-generator", {
"preset": "conventionalcommits"
}],
["@semantic-release/changelog", {
"changelogFile": "CHANGELOG.md"
}],
["@semantic-release/git", {
"assets": ["CHANGELOG.md"],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}],
["@semantic-release/github", {
"assets": []
}]
]
}' > .releaserc.json

- name: Run Semantic Release
id: semantic
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npx semantic-release

# 2. This job builds the Tauri application for multiple operating systems in parallel.
# It depends on the 'release' job and only runs if a new release was published.
build_assets:
name: Build Multi-Platform Assets
needs: release
if: needs.release.outputs.new_release_published == 'true'
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: main # Ensure we are building the latest code from the main branch

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22

- name: Cache Node.js Dependencies
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: ${{ runner.os }}-node-

- name: Install Dependencies
run: npm install
shell: bash

- name: Install Tauri CLI and API
run: |
npm install -g @tauri-apps/cli
npm install @tauri-apps/cli @tauri-apps/api @tauri-apps/plugin-fs --save-dev
shell: bash

- name: Setup Rust
if: matrix.os != 'windows-latest'
run: |
rustup update stable
rustup default stable
shell: bash

- name: Install Linux Dependencies (Ubuntu)
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt update
sudo apt install -y libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev
shell: bash

- name: Install macOS Dependencies
if: matrix.os == 'macos-latest'
run: |
brew update
brew install pkg-config
shell: bash

- name: Cache Rust Dependencies
uses: Swatinem/rust-cache@v2
with:
workspaces: "./src-tauri"

- name: Build Tauri App
run: npm run tauri build
shell: bash

- name: Upload Tauri Build Artifacts
uses: actions/upload-artifact@v4
with:
name: Tauri Build Artifacts (${{ matrix.os }})
path: |
src-tauri/target/release/bundle

# 3. This final job downloads all the built assets and uploads them to the
# GitHub Release that was created in the first job.
upload_release_assets:
name: Upload to Release
runs-on: ubuntu-latest
needs: [release, build_assets]
if: needs.release.outputs.new_release_published == 'true'

steps:
- name: Download all build artifacts
uses: actions/download-artifact@v4
with:
path: artifacts

- name: Prepare Release Assets
run: |
mkdir -p release-assets

# For Ubuntu (Linux)
if [ -d "artifacts/Tauri Build Artifacts (ubuntu-latest)/deb" ]; then
cp artifacts/Tauri\ Build\ Artifacts\ \(ubuntu-latest\)/deb/*.deb release-assets/ || true
fi
if [ -d "artifacts/Tauri Build Artifacts (ubuntu-latest)/appimage" ]; then
cp artifacts/Tauri\ Build\ Artifacts\ \(ubuntu-latest\)/appimage/*.AppImage release-assets/ || true
fi

# For Windows
if [ -d "artifacts/Tauri Build Artifacts (windows-latest)/msi" ]; then
cp artifacts/Tauri\ Build\ Artifacts\ \(windows-latest\)/msi/*.msi release-assets/ || true
fi

# For macOS
if [ -d "artifacts/Tauri Build Artifacts (macos-latest)/dmg" ]; then
cp artifacts/Tauri\ Build\ Artifacts\ \(macos-latest\)/dmg/*.dmg release-assets/ || true
fi
if [ -d "artifacts/Tauri Build Artifacts (macos-latest)/app" ]; then
cd artifacts/Tauri\ Build\ Artifacts\ \(macos-latest\)/app
for app in *.app; do
zip -r "../../../release-assets/${app%.app}.zip" "$app"
done
cd - || exit
fi

ls -la release-assets/
shell: bash

- name: Upload assets to GitHub Release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: |
release-assets/*
tag_name: v${{ needs.release.outputs.new_release_version }}
token: ${{ secrets.GITHUB_TOKEN }}
draft: false
prerelease: false
2 changes: 1 addition & 1 deletion .github/workflows/eslint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,4 @@ jobs:
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: eslint-results.sarif
wait-for-processing: true
wait-for-processing: true
Loading
Loading