blob: aaad5a6d75fee22818fbb37d11b0dc3cea43afa7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
name: "test-on-push"
on: [push, pull_request]
jobs:
# Ensure version numbers in various places match up
ensure-same-version:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: install dependencies
run: |
pip install toml
- name: Run check
run: |
python3 scripts/check_version_numbers.py
# Ensure correct Rust code formatting
formatting:
name: format-check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- run: rustup component add rustfmt
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --manifest-path src-tauri/Cargo.toml --all -- --check
# Ensure committed bindings correct
autogen-ts-bindings-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: install dependencies (ubuntu only)
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf
- name: Move original TypeScript bindings
run: |
cp -r src-tauri/bindings original-bindings
rm -r src-tauri/bindings
- name: Create empty dist folder # Otherwise tests fail
run: mkdir src-vue/dist
- name: Run Tests
run: cargo test --manifest-path src-tauri/Cargo.toml
- name: Compare TypeScript Bindings
run: |
diff -r src-tauri/bindings original-bindings
if [[ $? -ne 0 ]]; then
echo "Generated bindings are different from committed bindings"
exit 1
fi
test-tauri:
needs: ensure-same-version
strategy:
fail-fast: false
matrix:
platform: [ubuntu-22.04, windows-latest]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v3
- name: setup node
uses: actions/setup-node@v3
with:
node-version: 16
- name: install Rust stable
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf
- name: Disable self-updater
shell: bash
run: |
jq '.tauri.updater.active = false' src-tauri/tauri.conf.json > src-tauri/tauri.conf.json.new
rm src-tauri/tauri.conf.json
mv src-tauri/tauri.conf.json.new src-tauri/tauri.conf.json
- uses: Swatinem/rust-cache@v2 # Cache Rust build artifacts
with:
workspaces: |
src-tauri
- name: install app dependencies and build it
env:
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
run: |
npm install
cd src-vue && npm install && cd ..
npm run tauri build
- uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
- name: upload build artifact
uses: actions/upload-artifact@v2
with:
path: |
src-tauri/target/release/bundle/appimage/*
src-tauri/target/release/bundle/msi/*
|