Skip to content

Commit

Permalink
Add github actions to auto build project (#6)
Browse files Browse the repository at this point in the history
- add dependabot.yml
- add actions `release`

fixed WTDH-2
  • Loading branch information
axiangcoding authored Jun 13, 2024
1 parent 706d752 commit 2911ee9
Show file tree
Hide file tree
Showing 5 changed files with 114 additions and 27 deletions.
21 changes: 21 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"

- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"

- package-ecosystem: "cargo"
directory: "/src-tauri"
schedule:
interval: "weekly"
27 changes: 27 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Lint
on:
pull_request:
branches:
- main
push:
branches:
- main
jobs:
lint:
name: Lint
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
- name: Sync node version and setup cache
uses: actions/setup-node@v4
with:
node-version: "lts/*"
cache: "yarn"
- name: Install dependencies
run: yarn install
- name: Lint
run: make lint
63 changes: 63 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Release
on:
push:
tags:
- "v*"
branches:
- main
workflow_dispatch:

jobs:
release:
name: Release on ${{ matrix.platform }}
permissions:
contents: write
strategy:
fail-fast: false
matrix:
platform:
# TODO 其他平台均支持打包,但未经过测试,故暂时屏蔽掉
# - "macos-latest"
# - "ubuntu-latest"
- "windows-latest"
runs-on: ${{ matrix.platform }}

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

- name: Install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-latest'
# You can remove libayatana-appindicator3-dev if you don't use the system tray feature.
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev
- name: Rust setup
uses: dtolnay/rust-toolchain@stable

- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: "./src-tauri -> target"

- name: Sync node version and setup cache
uses: actions/setup-node@v4
with:
node-version: "lts/*"
cache: "yarn"

- name: Install frontend dependencies
# If you don't have `beforeBuildCommand` configured you may want to build your frontend here too.
run: yarn install
- name: Build the app
uses: tauri-apps/tauri-action@v0

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tagName: ${{ github.ref_name }} # This only works if your workflow triggers on new tags.
releaseName: "wt-helper-app v__VERSION__" # tauri-action replaces \_\_VERSION\_\_ with the app version.
releaseBody: "See the assets to download and install this version."
releaseDraft: false
prerelease: ${{ github.event_name == 'push' && contains(github.ref, 'refs/heads/main') && !startsWith(github.ref, 'refs/tags/v') }}
2 changes: 2 additions & 0 deletions src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ sevenz-rust = "0.6.0"
zip = "2.1.3"
tempfile = "3"
walkdir = "2.5.0"

[target.'cfg(target_os = "windows")'.dependencies]
winreg = "0.52.0"

[features]
Expand Down
28 changes: 1 addition & 27 deletions src-tauri/src/commands/os.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,33 +17,7 @@ pub fn show_in_folder(path: String) {

#[cfg(target_os = "linux")]
{
if path.contains(",") {
// see https://gitlab.freedesktop.org/dbus/dbus/-/issues/76
let new_path = match metadata(&path).unwrap().is_dir() {
true => path,
false => {
let mut path2 = PathBuf::from(path);
path2.pop();
path2.into_os_string().into_string().unwrap()
}
};
Command::new("xdg-open").arg(&new_path).spawn().unwrap();
} else {
if let Ok(Fork::Child) = daemon(false, false) {
Command::new("dbus-send")
.args([
"--session",
"--dest=org.freedesktop.FileManager1",
"--type=method_call",
"/org/freedesktop/FileManager1",
"org.freedesktop.FileManager1.ShowItems",
format!("array:string:\"file://{path}\"").as_str(),
"string:\"\"",
])
.spawn()
.unwrap();
}
}
Command::new("xdg-open").args([path]).spawn().unwrap();
}

#[cfg(target_os = "macos")]
Expand Down

0 comments on commit 2911ee9

Please sign in to comment.