1name: CI
2
3on:
4 push:
5 branches:
6 - master
7 tags:
8 - "v*"
9 pull_request:
10 branches:
11 - "**"
12
13env:
14 CARGO_TERM_COLOR: always
15 CARGO_INCREMENTAL: 0
16
17jobs:
18 tests:
19 name: Run tests
20 runs-on: self-hosted
21 steps:
22 - name: Install Rust
23 uses: actions-rs/toolchain@v1
24 with:
25 toolchain: stable
26 target: x86_64-apple-darwin
27 profile: minimal
28
29 - name: Checkout repo
30 uses: actions/checkout@v2
31 with:
32 clean: false
33
34 - name: Run tests
35 run: cargo test --no-fail-fast
36
37 bundle:
38 name: Bundle app
39 runs-on: self-hosted
40 steps:
41 - name: Install Rust x86_64-apple-darwin target
42 uses: actions-rs/toolchain@v1
43 with:
44 toolchain: stable
45 target: x86_64-apple-darwin
46 profile: minimal
47
48 - name: Install Rust aarch64-apple-darwin target
49 uses: actions-rs/toolchain@v1
50 with:
51 toolchain: stable
52 target: aarch64-apple-darwin
53 profile: minimal
54
55 - name: Checkout repo
56 uses: actions/checkout@v2
57 with:
58 clean: false
59
60 - name: Create app bundle
61 run: script/bundle
62
63 - name: Upload app bundle to workflow run
64 uses: actions/upload-artifact@v2
65 with:
66 name: Zed.dmg
67 path: target/release/Zed.dmg
68
69 - uses: svenstaro/upload-release-action@v2
70 name: Upload app bundle to release
71 if: ${{ startsWith(github.ref, 'refs/tags/v') }}
72 with:
73 repo_token: ${{ secrets.GITHUB_TOKEN }}
74 file: target/release/Zed.dmg
75 asset_name: Zed.dmg
76 tag: ${{ github.ref }}
77 overwrite: true
78 body: ""