-
Notifications
You must be signed in to change notification settings - Fork 135
140 lines (130 loc) · 5.1 KB
/
package-binary.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
name: Packaging
on:
push:
tags:
- "v*.*.*"
jobs:
publish:
name: Publish on ${{ matrix.os }} for ${{ matrix.target }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
target:
- x86_64-unknown-linux-musl
- aarch64-unknown-linux-musl
- armv7-unknown-linux-musleabihf
- arm-unknown-linux-musleabihf
- x86_64-pc-windows-msvc
- x86_64-apple-darwin
- aarch64-apple-darwin
include:
- os: ubuntu-latest
target: x86_64-unknown-linux-musl
client_artifact_name: target/x86_64-unknown-linux-musl/release/pueue
daemon_artifact_name: target/x86_64-unknown-linux-musl/release/pueued
client_release_name: pueue-linux-x86_64
daemon_release_name: pueued-linux-x86_64
cross: true
strip: true
- os: ubuntu-latest
target: aarch64-unknown-linux-musl
client_artifact_name: target/aarch64-unknown-linux-musl/release/pueue
daemon_artifact_name: target/aarch64-unknown-linux-musl/release/pueued
client_release_name: pueue-linux-aarch64
daemon_release_name: pueued-linux-aarch64
cross: true
strip: false
- os: ubuntu-latest
target: armv7-unknown-linux-musleabihf
client_artifact_name: target/armv7-unknown-linux-musleabihf/release/pueue
daemon_artifact_name: target/armv7-unknown-linux-musleabihf/release/pueued
client_release_name: pueue-linux-armv7
daemon_release_name: pueued-linux-armv7
cross: true
strip: false
- os: ubuntu-latest
target: arm-unknown-linux-musleabihf
client_artifact_name: target/arm-unknown-linux-musleabihf/release/pueue
daemon_artifact_name: target/arm-unknown-linux-musleabihf/release/pueued
client_release_name: pueue-linux-arm
daemon_release_name: pueued-linux-arm
cross: true
strip: false
- os: windows-latest
target: x86_64-pc-windows-msvc
client_artifact_name: target/x86_64-pc-windows-msvc/release/pueue.exe
daemon_artifact_name: target/x86_64-pc-windows-msvc/release/pueued.exe
client_release_name: pueue-windows-x86_64.exe
daemon_release_name: pueued-windows-x86_64.exe
cross: false
strip: true
- os: macos-latest
target: x86_64-apple-darwin
client_artifact_name: target/x86_64-apple-darwin/release/pueue
daemon_artifact_name: target/x86_64-apple-darwin/release/pueued
client_release_name: pueue-macos-x86_64
daemon_release_name: pueued-macos-x86_64
cross: false
strip: true
- os: macos-latest
target: aarch64-apple-darwin
client_artifact_name: target/aarch64-apple-darwin/release/pueue
daemon_artifact_name: target/aarch64-apple-darwin/release/pueued
client_release_name: pueue-darwin-aarch64
daemon_release_name: pueued-darwin-aarch64
cross: false
strip: true
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: ${{ matrix.target }}
override: true
- name: cargo build
uses: actions-rs/cargo@v1
with:
command: build
args: --release --locked --target=${{ matrix.target }}
use-cross: ${{ matrix.cross }}
- name: Compress client
uses: svenstaro/upx-action@v2
with:
file: ${{ matrix.client_artifact_name }}
args: --lzma
strip: ${{ matrix.strip }}
if: matrix.target != 'x86_64-pc-windows-msvc'
- name: Compress daemon
uses: svenstaro/upx-action@v2
with:
file: ${{ matrix.daemon_artifact_name }}
args: --lzma
strip: ${{ matrix.strip }}
if: matrix.target != 'x86_64-pc-windows-msvc'
- name: Upload client binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ matrix.client_artifact_name }}
asset_name: ${{ matrix.client_release_name }}
tag: ${{ github.ref }}
overwrite: true
- name: Upload daemon binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ matrix.daemon_artifact_name }}
asset_name: ${{ matrix.daemon_release_name }}
tag: ${{ github.ref }}
overwrite: true
- uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: utils/pueued.service
tag: ${{ github.ref }}
asset_name: systemd.pueued.service
body: ${{ steps.changelog_reader.outputs.log_entry }}
if: matrix.target == 'x86_64-unknown-linux-musl'