-
Notifications
You must be signed in to change notification settings - Fork 1.3k
141 lines (115 loc) · 4.75 KB
/
build_latest.yml
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
name: Build Latest
on: [push,workflow_dispatch]
env:
DOTNET_SDK_VERSION: '9.0.*'
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
jobs:
set-date:
runs-on: ubuntu-latest
outputs:
date: ${{ steps.get_date.outputs.date }}
steps:
- name: Get Date in UTC+8
id: get_date
run: echo "date=$(date -u -d '8 hours' +'%Y%m%d')" >> "$GITHUB_OUTPUT"
build-win-x64-arm64:
runs-on: windows-latest
needs: set-date
steps:
- uses: actions/checkout@v1
- name: Set up dotnet
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ env.DOTNET_SDK_VERSION }}
- name: Install zip
run: choco install zip --no-progress --yes
- name: Publish [win]
run: |
dotnet publish BBDown -r win-x64 -c Release -o artifact
dotnet publish BBDown -r win-arm64 -c Release -o artifact-arm64
- name: Package [win]
run: |
cd artifact
zip ../BBDown_${{ needs.set-date.outputs.date }}_win-x64.zip BBDown.exe
cd ../artifact-arm64
zip ../BBDown_${{ needs.set-date.outputs.date }}_win-arm64.zip BBDown.exe
- name: Upload Artifact [win-x64]
uses: actions/[email protected]
with:
name: BBDown_win-x64
path: BBDown_${{ needs.set-date.outputs.date }}_win-x64.zip
- name: Upload Artifact [win-arm64]
uses: actions/[email protected]
with:
name: BBDown_win-arm64
path: BBDown_${{ needs.set-date.outputs.date }}_win-arm64.zip
build-linux-x64-arm64:
runs-on: ubuntu-latest
needs: set-date
steps:
# https://learn.microsoft.com/zh-cn/dotnet/core/deploying/native-aot/cross-compile
- run: |
sudo dpkg --add-architecture arm64
sudo bash -c 'cat > /etc/apt/sources.list.d/arm64.list <<EOF
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ jammy main restricted
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main restricted
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ jammy-backports main restricted universe multiverse
EOF'
sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
sudo sed -i -e 's/deb mirror/deb [arch=amd64] mirror/g' /etc/apt/sources.list
sudo apt-get update
sudo apt-get install -y curl wget libicu-dev libcurl4-openssl-dev zlib1g-dev libkrb5-dev clang llvm binutils-aarch64-linux-gnu gcc-aarch64-linux-gnu zlib1g-dev:arm64
- uses: actions/checkout@v1
- name: Set up dotnet
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ env.DOTNET_SDK_VERSION }}
- name: Publish [linux]
run: |
dotnet publish BBDown -r linux-x64 -c Release -o artifact
dotnet publish BBDown -r linux-arm64 -c Release -o artifact-arm64
- name: Package [linux]
run: |
cd artifact
zip ../BBDown_${{ needs.set-date.outputs.date }}_linux-x64.zip BBDown
cd ../artifact-arm64
zip ../BBDown_${{ needs.set-date.outputs.date }}_linux-arm64.zip BBDown
- name: Upload Artifact [linux-x64]
uses: actions/[email protected]
with:
name: BBDown_linux-x64
path: BBDown_${{ needs.set-date.outputs.date }}_linux-x64.zip
- name: Upload Artifact[linux-arm64]
uses: actions/[email protected]
with:
name: BBDown_linux-arm64
path: BBDown_${{ needs.set-date.outputs.date }}_linux-arm64.zip
build-mac-x64-arm64:
runs-on: macos-latest
needs: set-date
steps:
- uses: actions/checkout@v1
- name: Set up dotnet
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ env.DOTNET_SDK_VERSION }}
- name: Publish [osx]
run: |
dotnet publish BBDown -r osx-x64 -c Release -o artifact
dotnet publish BBDown -r osx-arm64 -c Release -o artifact-arm64
- name: Package [osx]
run: |
cd artifact
zip ../BBDown_${{ needs.set-date.outputs.date }}_osx-x64.zip BBDown
cd ../artifact-arm64
zip ../BBDown_${{ needs.set-date.outputs.date }}_osx-arm64.zip BBDown
- name: Upload Artifact [osx-x64]
uses: actions/[email protected]
with:
name: BBDown_osx-x64
path: BBDown_${{ needs.set-date.outputs.date }}_osx-x64.zip
- name: Upload Artifact [osx-arm64]
uses: actions/[email protected]
with:
name: BBDown_osx-arm64
path: BBDown_${{ needs.set-date.outputs.date }}_osx-arm64.zip