1
1
name : CI
2
- env :
3
- $DNP3_TAG : 1.1.0
4
2
on :
5
3
push :
6
4
branches :
@@ -17,22 +15,18 @@ jobs:
17
15
matrix :
18
16
include :
19
17
- target : x86_64-pc-windows-msvc # 64-bit MSVC (Windows 7+)
20
- extra-param : # nothing
21
18
steps :
22
19
- name : Checkout DNP3
23
20
uses : actions/checkout@v3
24
21
with :
25
22
repository : stepfunc/dnp3
26
- ref : ${{ env.DNP3_TAG }}
23
+ ref : 1.2.0-rc1
27
24
- name : Install Rust
28
25
uses : actions-rs/toolchain@v1
29
26
with :
30
27
profile : minimal
31
28
toolchain : stable
32
29
override : true
33
- - name : Copy Windows config
34
- shell : pwsh
35
- run : Copy-Item -Path .cargo/config-windows.toml -Destination .cargo/config.toml
36
30
- name : Create FFI modules dir
37
31
run : mkdir ffi-modules\${{ matrix.target }}
38
32
- name : Build FFI
@@ -46,20 +40,28 @@ jobs:
46
40
path : ffi-modules
47
41
# Cross-compile FFI for Linux platforms
48
42
ffi-cross :
43
+ env :
44
+ # By default, MUSL will not produce a cdylib with dynamic linkage to MUSL LIB C
45
+ CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS : " -C target-feature=-crt-static"
46
+ CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS : " -C target-feature=-crt-static"
47
+ CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABIHF_RUSTFLAGS : " -C target-feature=-crt-static"
49
48
strategy :
50
49
fail-fast : false
51
50
matrix :
52
51
target :
53
52
- arm-unknown-linux-gnueabihf # ARMv6 Linux, hardfloat (kernel 3.2, glibc 2.17)
54
53
- aarch64-unknown-linux-gnu # ARM64 Linux (kernel 4.2, glibc 2.17+)
55
54
- x86_64-unknown-linux-gnu # 64-bit Linux (kernel 2.6.32+, glibc 2.11+)
55
+ - aarch64-unknown-linux-musl # ARM64 Linux with MUSL
56
+ - x86_64-unknown-linux-musl # 64-bit Linux with MUSL
57
+ - arm-unknown-linux-musleabihf # ARMv6 Linux with MUSL, hardfloat
56
58
runs-on : ubuntu-latest
57
59
steps :
58
60
- name : Checkout DNP3
59
61
uses : actions/checkout@v3
60
62
with :
61
63
repository : stepfunc/dnp3
62
- ref : ${{ env.DNP3_TAG }}
64
+ ref : 1.2.0-rc1
63
65
- name : Install Rust
64
66
uses : actions-rs/toolchain@v1
65
67
with :
91
93
profile : minimal
92
94
toolchain : stable
93
95
override : true
94
- - name : Caching
95
- uses : Swatinem/rust-cache@v2
96
96
- name : Checkout BOM tools repo
97
97
uses : actions/checkout@v3
98
98
with :
@@ -106,9 +106,9 @@ jobs:
106
106
uses : actions/checkout@v3
107
107
with :
108
108
repository : stepfunc/dnp3
109
- ref : ${{ env.DNP3_TAG }}
109
+ ref : 1.2.0-rc1
110
110
- name : Download compiled FFI
111
- uses : actions/download-artifact@v2
111
+ uses : actions/download-artifact@v3
112
112
with :
113
113
name : ffi-modules
114
114
path : ffi-modules
@@ -123,7 +123,7 @@ jobs:
123
123
uses : actions-rs/cargo@v1
124
124
with :
125
125
command : run
126
- args : --bin dnp3-bindings -- --dotnet --package ./ffi-modules -f third-party-licenses.txt
126
+ args : --bin dnp3-bindings -- --dotnet --package ./ffi-modules -o ./packaging.json - f third-party-licenses.txt
127
127
- name : Upload .NET bindings
128
128
uses : actions/upload-artifact@v3
129
129
with :
0 commit comments