@@ -10,33 +10,53 @@ permissions:
1010
1111jobs :
1212 build :
13- name : build ${{ matrix.target }}
13+ name : build ${{ matrix.binary }} ${{ matrix. target }}
1414 runs-on : ${{ matrix.os }}
1515 strategy :
1616 matrix :
1717 include :
1818 - os : ubuntu-latest
1919 target : x86_64-unknown-linux-gnu
2020 binary : sinbo
21- asset_name : sinbo-linux-x86_64
21+ artifact : sinbo-linux-x86_64
2222
2323 - os : macos-latest
2424 target : x86_64-apple-darwin
2525 binary : sinbo
26- asset_name : sinbo-macos-x86_64
26+ artifact : sinbo-macos-x86_64
2727
2828 - os : macos-latest
2929 target : aarch64-apple-darwin
3030 binary : sinbo
31- asset_name : sinbo-macos-aarch64
31+ artifact : sinbo-macos-aarch64
3232
3333 - os : windows-latest
3434 target : x86_64-pc-windows-msvc
35- binary : sinbo.exe
36- asset_name : sinbo-windows-x86_64.exe
35+ binary : sinbo
36+ artifact : sinbo-windows-x86_64
37+
38+ - os : ubuntu-latest
39+ target : x86_64-unknown-linux-gnu
40+ binary : sinbo-lsp
41+ artifact : sinbo-lsp-linux-x86_64
42+
43+ - os : macos-latest
44+ target : x86_64-apple-darwin
45+ binary : sinbo-lsp
46+ artifact : sinbo-lsp-macos-x86_64
47+
48+ - os : macos-latest
49+ target : aarch64-apple-darwin
50+ binary : sinbo-lsp
51+ artifact : sinbo-lsp-macos-aarch64
52+
53+ - os : windows-latest
54+ target : x86_64-pc-windows-msvc
55+ binary : sinbo-lsp
56+ artifact : sinbo-lsp-windows-x86_64
3757
3858 steps :
39- - uses : actions/checkout@v6
59+ - uses : actions/checkout@v4
4060
4161 - name : Install Rust
4262 uses : actions-rust-lang/setup-rust-toolchain@v1
@@ -45,40 +65,60 @@ jobs:
4565 target : ${{ matrix.target }}
4666
4767 - name : Build
48- run : cargo build --release --target ${{ matrix.target }}
68+ run : cargo build --release --target ${{ matrix.target }} --manifest-path ${{ matrix.binary }}/Cargo.toml
4969
50- - name : Rename binary (Linux/macOS)
70+ - name : Package (Linux/macOS)
5171 if : matrix.os != 'windows-latest'
52- run : cp target/${{ matrix.target }}/release/${{ matrix.binary }} ${{ matrix.asset_name }}
72+ run : |
73+ cp ${{ matrix.binary }}/target/${{ matrix.target }}/release/${{ matrix.binary }} ${{ matrix.artifact }}
74+ tar czf ${{ matrix.artifact }}.tar.gz ${{ matrix.artifact }}
5375
54- - name : Rename binary (Windows)
76+ - name : Package (Windows)
5577 if : matrix.os == 'windows-latest'
56- run : Copy-Item target/${{ matrix.target }}/release/${{ matrix.binary }} ${{ matrix.asset_name }}
78+ run : |
79+ Copy-Item ${{ matrix.binary }}/target/${{ matrix.target }}/release/${{ matrix.binary }}.exe ${{ matrix.artifact }}.exe
80+ Compress-Archive -Path ${{ matrix.artifact }}.exe -DestinationPath ${{ matrix.artifact }}.zip
5781
58- - name : Upload artifact
59- uses : actions/upload-artifact@v7
82+ - name : Upload artifact (Linux/macOS)
83+ if : matrix.os != 'windows-latest'
84+ uses : actions/upload-artifact@v4
85+ with :
86+ name : ${{ matrix.artifact }}
87+ path : ${{ matrix.artifact }}.tar.gz
88+
89+ - name : Upload artifact (Windows)
90+ if : matrix.os == 'windows-latest'
91+ uses : actions/upload-artifact@v4
6092 with :
61- name : ${{ matrix.asset_name }}
62- path : ${{ matrix.asset_name }}
93+ name : ${{ matrix.artifact }}
94+ path : ${{ matrix.artifact }}.zip
6395
6496 release :
6597 needs : build
6698 runs-on : ubuntu-latest
6799 permissions :
68100 contents : write
69101 steps :
70- - uses : actions/checkout@v6
102+ - uses : actions/checkout@v4
71103
72104 - name : Download artifacts
73- uses : actions/download-artifact@v8
105+ uses : actions/download-artifact@v4
74106 with :
75107 path : artifacts
76108 merge-multiple : true
109+
110+ - name : Build VS Code extension
111+ run : |
112+ cd sinbo-lsp-vscode
113+ npm install
114+ npm install -g @vscode/vsce
115+ vsce package --no-dependencies
116+ cp sinbo-lsp-*.vsix ../artifacts/
77117
78118 - name : Create GitHub release
79119 uses : softprops/action-gh-release@v2
80120 with :
81121 files : artifacts/*
82122 generate_release_notes : true
83123 env :
84- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
124+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments