-
Notifications
You must be signed in to change notification settings - Fork 27
123 lines (121 loc) · 4.01 KB
/
build.yaml
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
118
119
120
121
122
123
name: Build
on:
push:
tags: [ '**' ]
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1
- uses: nuget/setup-nuget@v1
with:
nuget-version: latest
- uses: actions/setup-python@v2
with:
python-version: 3.7
- run: |
cd translate
pip install -r requirements.txt
./gen_rc.sh
shell: bash
- run: |
mkdir .nuget
cd .nuget
curl -OL https://github.com/ysc3839/GitInfo/releases/download/v2.0.33/GitInfo.2.0.33.nupkg
nuget sources add -name gitinfo -source `cygpath -wa .`
cd ..
nuget restore ClashXW.sln
shell: bash
- run: |
vcpkg install skyr-url --triplet=arm64-windows-static
vcpkg install skyr-url --triplet=x64-windows-static
vcpkg install skyr-url --triplet=x86-windows-static
vcpkg integrate install
shell: cmd
- run: |
Start-Job -Init ([ScriptBlock]::Create("Set-Location '$pwd'")) -Script {
msbuild ClashXW.sln "-p:Configuration=Release;Platform=x64" }
Start-Job -Init ([ScriptBlock]::Create("Set-Location '$pwd'")) -Script {
msbuild ClashXW.sln "-p:Configuration=Release;Platform=x86" }
Start-Job -Init ([ScriptBlock]::Create("Set-Location '$pwd'")) -Script {
msbuild ClashXW.sln "-p:Configuration=Release;Platform=ARM64" }
Get-Job | Wait-Job | Receive-Job
shell: powershell
- uses: actions/upload-artifact@v2
with:
name: ClashXW64
path: x64/Release/ClashXW64.exe
if-no-files-found: error
- uses: actions/upload-artifact@v2
with:
name: ClashXW64
path: x64/Release/ClashXW64.pdb
if-no-files-found: error
- uses: actions/upload-artifact@v2
with:
name: ClashXW32
path: Release/ClashXW32.exe
if-no-files-found: error
- uses: actions/upload-artifact@v2
with:
name: ClashXW32
path: Release/ClashXW32.pdb
if-no-files-found: error
- uses: actions/upload-artifact@v2
with:
name: ClashXWARM64
path: ARM64/Release/ClashXWARM64.exe
if-no-files-found: error
- uses: actions/upload-artifact@v2
with:
name: ClashXWARM64
path: ARM64/Release/ClashXWARM64.pdb
if-no-files-found: error
- run: sh create_package.sh
shell: bash
- name: Get git tag version
id: git_tag_version
run: echo "::set-output name=version::$(git describe --tags)"
shell: bash
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
draft: true
prerelease: false
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: pkg/64.zip
asset_name: ClashXW64-${{ steps.git_tag_version.outputs.version }}.zip
asset_content_type: application/octet-stream
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: pkg/32.zip
asset_name: ClashXW32-${{ steps.git_tag_version.outputs.version }}.zip
asset_content_type: application/octet-stream
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: pkg/ARM64.zip
asset_name: ClashXWARM64-${{ steps.git_tag_version.outputs.version }}.zip
asset_content_type: application/octet-stream