-
Notifications
You must be signed in to change notification settings - Fork 74
135 lines (130 loc) · 5.08 KB
/
test-publish-nightly.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
name: Publish Nightly-Testing
on:
workflow_dispatch:
env:
QSV_KIND: prebuilt-nightly
jobs:
publish:
name: Publish for ${{ matrix.job.target }}
runs-on: ${{ matrix.job.os }}
strategy:
matrix:
rust: [nightly-2023-09-21]
job:
- os: ubuntu-latest
os-name: linux
target: x86_64-unknown-linux-gnu
architecture: x86_64
addl-build-args: --features=apply,generate,luau,fetch,foreach,nightly,to,self_update,polars
default-features:
addl-qsvdp-features: luau
# - os: ubuntu-latest
# os-name: linux
# target: x86_64-unknown-linux-musl
# architecture: x86_64
# musl-prep: true
# addl-build-args: --features=apply,generate,fetch,foreach,nightly,self_update
# default-features:
- os: windows-latest
os-name: windows
target: x86_64-pc-windows-msvc
architecture: x86_64
addl-build-args: --features=apply,generate,luau,fetch,nightly,to,self_update,polars
default-features:
addl-qsvdp-features: luau
- os: windows-latest
os-name: windows
target: x86_64-pc-windows-gnu
architecture: x86_64
addl-build-args: --features=apply,generate,luau,fetch,nightly,self_update,polars
default-features: --no-default-features
addl-qsvdp-features: luau
- os: macos-latest
os-name: macos
target: x86_64-apple-darwin
architecture: x86_64
addl-build-args: --features=apply,generate,luau,fetch,foreach,nightly,to,self_update
default-features:
addl-qsvdp-features: luau
steps:
- name: Installing Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
profile: minimal
components: rust-src
target: ${{ matrix.job.target }}
override: true
default: true
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
# - 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-nightly
env:
RUSTFLAGS: --emit=asm
uses: actions-rs/cargo@v1
with:
command: build
use-cross: false
toolchain: ${{ matrix.rust }}
args: --profile release-nightly --bin qsv -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort --target ${{ matrix.job.target }} ${{ matrix.job.addl-build-args }},full ${{ matrix.job.default-features }}
- name: Build qsvlite-nightly
env:
RUSTFLAGS: --emit=asm
uses: actions-rs/cargo@v1
with:
command: build
use-cross: false
toolchain: ${{ matrix.rust }}
args: --profile release-nightly --bin qsvlite -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort --features=lite,self_update --target ${{ matrix.job.target }} ${{ matrix.job.default-features }}
- name: Build qsvdp-nightly
env:
RUSTFLAGS: --emit=asm
uses: actions-rs/cargo@v1
with:
command: build
use-cross: false
toolchain: ${{ matrix.rust }}
args: --profile release-nightly --bin qsvdp -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort --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-publish-testing
rm target/${{ matrix.job.target }}/release-nightly/*.d
cp target/${{ matrix.job.target }}/release-nightly/qsv* qsv-publish-testing
cd qsv-publish-testing
if [ "$RUNNER_OS" == "Windows"]; then
mv qsv.exe qsv_nightly.exe
mv qsvlite.exe qsvlite_nightly.exe
mv qsvdp.exe qsvdp_nightly.exe
else
mv qsv qsv_nightly
mv qsvlite qsvlite_nightly
mv qsvdp qsvdp_nightly
fi
rustup show > qsv_nightly_rust_version_info.txt
cd ..
- name: Download latest release zip
uses: robinraju/[email protected]
with:
repository: "jqnatividad/qsv"
latest: false
tag: "publish-testing"
token: ${{ secrets.GITHUB_TOKEN }}
fileName: qsv-publish-testing-${{ matrix.job.target }}-testing.zip
- name: add/update nightly files to zip
run: 7z u -tzip qsv-publish-testing-${{ matrix.job.target }}-testing.zip ./qsv-publish-testing/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-publish-testing-${{ matrix.job.target }}-testing.zip
asset_name: qsv-publish-testing-${{ matrix.job.target }}-testing.zip
overwrite: true
tag: publish-testing