-
Notifications
You must be signed in to change notification settings - Fork 74
126 lines (120 loc) · 4.96 KB
/
publish-linux-glibc-231-musl-1124.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
name: Publish glibc 2.31/musl 1.1.24 binaries
on:
workflow_dispatch:
env:
QSV_KIND: prebuilt-older
jobs:
analyze-tags:
runs-on: ubuntu-20.04
outputs:
previous-tag: ${{ steps.previoustag.outputs.tag }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
#▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼#
- name: Get previous tag
id: previoustag
uses: "WyriHaximus/github-action-get-previous-tag@v1"
#▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲#
publish:
name: Publish for ${{ matrix.job.target }}
needs: analyze-tags
runs-on: ${{ matrix.job.os }}
strategy:
matrix:
rust: [stable]
job:
- os: ubuntu-20.04
os-name: linux
target: x86_64-unknown-linux-gnu
architecture: x86_64
addl-build-args: --features=apply,generate,luau,fetch,foreach,self_update,polars,geocode
default-features:
addl-qsvlite-features:
addl-qsvdp-features: luau
name-suffix: glibc-2.31
- os: ubuntu-20.04
os-name: linux
target: x86_64-unknown-linux-musl
architecture: x86_64
musl-prep: true
addl-build-args: --features=apply,generate,fetch,foreach,self_update
default-features:
addl-qsvlite-features:
addl-qsvdp-features:
name-suffix: musl-1.1.24
steps:
- name: Installing Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
profile: minimal
target: ${{ matrix.job.target }}
override: true
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
ref: ${{ needs.analyze-tags.outputs.previous-tag }}
- name: build prep for x86_64-unknown-linux-musl
if: ${{ matrix.job.musl-prep }}
run: |
sudo apt-get install musl-tools musl-dev
sudo ln -s /usr/bin/g++ /usr/bin/musl-g++
- name: Build qsv
env:
RUSTFLAGS: --emit=asm
uses: actions-rs/cargo@v1
with:
command: build
use-cross: ${{ matrix.job.use-cross }}
toolchain: ${{ matrix.rust }}
args: --release --locked --bin qsv --target ${{ matrix.job.target }} ${{ matrix.job.addl-build-args }},feature_capable ${{ matrix.job.default-features }}
- name: Build qsvlite
env:
RUSTFLAGS: --emit=asm
uses: actions-rs/cargo@v1
with:
command: build
use-cross: ${{ matrix.job.use-cross }}
toolchain: ${{ matrix.rust }}
args: --release --locked --bin qsvlite --features=lite,self_update,${{ matrix.job.addl-qsvlite-features }} --target ${{ matrix.job.target }} ${{ matrix.job.default-features }}
- name: Build qsvdp
env:
RUSTFLAGS: --emit=asm
uses: actions-rs/cargo@v1
with:
command: build
use-cross: ${{ matrix.job.use-cross }}
toolchain: ${{ matrix.rust }}
args: --release --locked --bin qsvdp --features=datapusher_plus,${{ matrix.job.addl-qsvdp-features }} --target ${{ matrix.job.target }} ${{ matrix.job.default-features }}
- name: Copy binaries to working dir
shell: bash
run: |
mkdir qsv-${{ needs.analyze-tags.outputs.previous-tag }}
rm target/${{ matrix.job.target }}/release/*.d
cp target/${{ matrix.job.target }}/release/qsv* qsv-${{ needs.analyze-tags.outputs.previous-tag }}
cd qsv-${{ needs.analyze-tags.outputs.previous-tag }}
mv qsv qsv_${{ matrix.job.name-suffix }}
mv qsvlite qsvlite_${{ matrix.job.name-suffix }}
mv qsvdp qsvdp_${{ matrix.job.name-suffix }}
rustup show > qsv_${{ matrix.job.name-suffix }}_rust_version_info.txt
cd ..
- name: Download latest release zip
uses: robinraju/[email protected]
with:
repository: "jqnatividad/qsv"
latest: true
token: ${{ secrets.GITHUB_TOKEN }}
fileName: qsv-${{ needs.analyze-tags.outputs.previous-tag }}-${{ matrix.job.target }}.zip
- name: add/update "older" glibc 2.31/musl 1.1.24 files to zip
run: 7z u -tzip qsv-${{ needs.analyze-tags.outputs.previous-tag }}-${{ matrix.job.target }}.zip ./qsv-${{ needs.analyze-tags.outputs.previous-tag }}/qsv* -mx=9 -mmt=on
- name: Upload zipped binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: qsv-${{ needs.analyze-tags.outputs.previous-tag }}-${{ matrix.job.target }}.zip
asset_name: qsv-${{ needs.analyze-tags.outputs.previous-tag }}-${{ matrix.job.target }}.zip
overwrite: true
tag: ${{ needs.analyze-tags.outputs.previous-tag }}