Build fixes (#425)

* Build fixes

Pin version
Bumpy upload-atrifact version
Update self-signed certs
Fix macos native-tls test skip

* Remove dead code
This commit is contained in:
Stephen Tierney
2025-07-29 10:05:58 +10:00
committed by GitHub
parent f6d0f26690
commit 5a9dd6d939
10 changed files with 111 additions and 29 deletions

View File

@@ -85,8 +85,6 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
# Since rust 1.72, some platforms are tier 3
toolchain: 1.71
default: true
- name: Install OpenSSL
@@ -128,7 +126,7 @@ jobs:
version: v4.0.2
files: target/${{ matrix.target }}/release/${{ matrix.exe }}
args: -q --best --lzma
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
with:
name: rathole-${{ matrix.target }}
path: target/${{ matrix.target }}/release/${{ matrix.exe }}
@@ -176,7 +174,6 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- name: Publish
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}

View File

@@ -24,7 +24,6 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: clippy
- uses: Swatinem/rust-cache@v1
- name: Clippy
@@ -60,7 +59,6 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- uses: Swatinem/rust-cache@v1
- name: Build
run: cargo build
@@ -68,7 +66,7 @@ jobs:
run: cargo test --verbose
- name: Run tests with rustls
run: cargo test --verbose --no-default-features --features server,client,rustls,noise,websocket-rustls,hot-reload
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
with:
name: rathole-${{ matrix.target }}
path: target/debug/${{ matrix.exe }}

0
examples/tls/create_self_signed_cert.sh Normal file → Executable file
View File

Binary file not shown.

View File

@@ -1,20 +1,20 @@
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----

28
examples/tls/rootCA.key Normal file
View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDqk6ojYWi1OYik
S1Em+C8YMWHUuCK/LAtLrDU6FYrwjUroJtDhncAoAfwEZuJUM0ZtT9M34Djjvkpt
N0IY4VfQ7PHOCYhAi0/ktBBu2jS4LQgcdsayMNCvl3k22P21WU2CCuqvZFnCt69V
lyLWVxwAK2zUaPfeY8M9ohP/yqtJzw3sj9z1K7Kq7Hacv6GS17SFprc8SbJDPfc4
vMQUx+7iZ6LEji7qN9aOfUGoP0jzkGxFKZecP/SsTFIFmcQc9OJkBNygJVODxT2A
VePNN+UvtuG3fE9N3dA8qkyN+HRsHhSld2mlmE+NJd4r1y7a6hSkGTq0nkDAF3fA
LdaiJzSRAgMBAAECggEASE417mvzI5FVbhcNL67mjVWDa1dK1pST8sJlMb88MYPL
6B0226SNe4eJEC5Ka1vWxJELcTi7MHASbvHOfO7Q68RtkG3dws9uU/ew7Qpzn6W5
z1RJUNm9KbLOGTrvkTuyqXgF+QQ8qsmF0SMiCOGW7vJzvFGSvckQgGn6MildfQUv
fBzRPsGOQXFces2bhC+92FH6u2HzMN/CBhoBt0HowyFjs+Gh20iB/7rkXMZ3Re/H
7jIwCkhPCKMlXbMYlzuot+d1tEXEgKSo81tjet7wqp3dZNOum0oIiZPrLMZyMHeD
BHSXjChCQs8iSyaH2xTrihsrhP0VIfLLjTlHsoaXVQKBgQD+4UIeG4ztos+p/wdt
yaHEHNjp0/LGLfaCACREFBGIsov8qkRrNqwE9Lqrd4VPOcGyDqY81rWPTIeOSArs
pjkD352o73fjVCbSh3TgOZuEhCZNxJVL8cxTTB+JTrlW2xiDNN3pT2mhSqGwnb9I
ncd30FlywQ9PC9pSGjyMhqbAMwKBgQDrm5CwxrPU2N+uHGglKhO8OQFD6uJqVIdn
w7cuywxyNnigf3mU5wFQ3nJ7VBxTxcHUDYDA8fdqKj/xUC/uvUECMjtCFvPP724J
80K8GYEwIH0Mm+QeRtViSAP3icq0f6070us9Y+jF6zWhsjmsABGPXlQBR8kpJX7C
eM4ChatkKwKBgQD5QppCj3b3P24PNhWxzKqi/AM2Scz2+yREZpcQ7P9ozBQS+QEI
SONZxWx5G94HaNiApcr1XJUamyFGiDYG0ViY7Stmdyqr6zQ8V7R5RF1O7132V/YZ
21KTc7KzuYWP55zFVAJhlQQcdLxD2UGkZokYJ24Sx7OM/m54NKhaVaTl+QKBgGpb
6sByouHWGXvO5RDJ4ujYTwLq+NUJXarxBjPAg9jXUDMb+LXIZqasFMAp4zPKFUr1
4Ya4dHlfo0f7a/f5RWyJYojeNahLrMAfKaQiW1hvgiP8B8nHLjLU0b2gXXqIHJri
B0HKZV1bZfWdsD0+Nq8i5QdC8cN6YrPFtzIaR5nLAoGBAJquKGdlCZErAWVnBOpj
CujXpMBQJa7+ZWY5q+19s99jzffSdyMhuHbVf3NxE0fu8+A3csZDDlW2wyIIM6tk
HKxJSUapv7MDiA1nz3KlewJEr9XAHnapNciur6EgxEKPhjY86I76b28xR2Tdj4zY
wI+K8vATq4tFiSqM4hil+4WG
-----END PRIVATE KEY-----

22
examples/tls/server.crt Normal file
View File

@@ -0,0 +1,22 @@
-----BEGIN CERTIFICATE-----
MIIDpzCCAo+gAwIBAgIUPP/pKlmn1kOLpd31HXRSjtw2muQwDQYJKoZIhvcNAQEL
BQAwNzEQMA4GA1UEAwwHTXlPd25DQTELMAkGA1UEBhMCVVMxFjAUBgNVBAcMDVNh
biBGcmFuc2lzY28wHhcNMjUwNzI2MTI0MzIwWhcNMjYwNzI2MTI0MzIwWjByMQsw
CQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZy
YW5zaXNjbzEQMA4GA1UECgwHU29tZW9uZTEQMA4GA1UECwwHU29tZW9uZTESMBAG
A1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
p1LrbPzkvfwPzcBgORrmVxzkB+TKPdg+P5Ef6IrtlX3juyjUKMPK67v0zDwNKKyI
9LYND4KHImhgBcDc4M1B5y5WdALFR6XkJhcRtdm8RWY4FYalI0Q9ZbIzDZVVtIK5
kJx7r3t60rlSuHC55f3cJpek+BNAtqf/XiDgVAtSp7EECdkODFbWKhOLnln3Lvvs
6xkOOpSy7grYWUHMmUCv2LdLZuripjWJdT4Vkm+jTR+m1cnItruJZ3uGI2xmLRwy
gg9BkWG6Yn6Sr8is9I22yiFRKW/6SYkCZ19VwCzOahuQR5t0K1DrPjjI1nCbMaak
9fcRnz8X0JRQ5NloaGyynQIDAQABo3AwbjAfBgNVHSMEGDAWgBTJF+aMwfha0YId
+j5z3tj7PS+4oDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE8DAUBgNVHREEDTALggls
b2NhbGhvc3QwHQYDVR0OBBYEFNXm+idP/nizMy9EbGzf64KoObQNMA0GCSqGSIb3
DQEBCwUAA4IBAQB3MhVio45UevtifaWfzQqhbK+QYUrKTUVzvFzkdnIB+c5xkl5p
MaYZkWaRZxg9ZAKRIv+sNWw9sCBFtXsnxHyaTfwXx6qE5nPHBgSWUogIRh1aJadY
w9QxCyBwO72aUguDskGYNX7fP69RpxFQXJYlwfpH/Z9UMTb7dE78iuU2GpiHxLql
4oeMvCGqDV3d9aDBBOqNu/WsU9wcvakDF8E0Vx45kU0ze/Fr2R1LYagsQ0vaabPi
w6X9V1iUMuvpsiqcWjdj5WgMRXqRd5+CrDmXG3dsDBWB0LMkU0Vm1s3hso/9clx2
znZJJliEWwvHnBTcuXUQBNJP10NxWnDeV7tl
-----END CERTIFICATE-----

28
examples/tls/server.key Normal file
View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCnUuts/OS9/A/N
wGA5GuZXHOQH5Mo92D4/kR/oiu2VfeO7KNQow8rru/TMPA0orIj0tg0PgociaGAF
wNzgzUHnLlZ0AsVHpeQmFxG12bxFZjgVhqUjRD1lsjMNlVW0grmQnHuve3rSuVK4
cLnl/dwml6T4E0C2p/9eIOBUC1KnsQQJ2Q4MVtYqE4ueWfcu++zrGQ46lLLuCthZ
QcyZQK/Yt0tm6uKmNYl1PhWSb6NNH6bVyci2u4lne4YjbGYtHDKCD0GRYbpifpKv
yKz0jbbKIVEpb/pJiQJnX1XALM5qG5BHm3QrUOs+OMjWcJsxpqT19xGfPxfQlFDk
2WhobLKdAgMBAAECggEAGC+LKiDP64pAuovhHL//pX3elCmE9jWIoeWXSCS0vNQK
k+YN7KqIbVSoyNCxUjzGOyEJeEF0yQtvPcWn57KjoQf4pSI1Y+rdtIfHHpMPfLSO
zMW+nv9hJI8ChCce0U3IBtgnpLDjiwwQoephZJYyOT3YMaeOxhg4eGGmK1/LncNj
ot4OORaDHINq25Mt21BxhYaBG8p4DRfyb0HVXU9bQcjbLQViDFcDnoQB2F/lz4EO
V9r+IxE0/TKaGCqyEKhCjW303mBWlHpU66U+ykCZBLUmieOYmWEecp+liUYFo874
TiM3UXj7mQ1sBOkIrIhnYNLKPF5pxdsRvVIadIlyfQKBgQDW/YGL8ODpCllfdMcr
CymZj2zoKSwG2/N3Ee1G0EO2areYEiUlhImtz6tif4Z4Zjli7ZaoojfkGT++4U+L
6gH6A0Att+KMFkDbaiTPbaUXYywSYkhj+il/oz6aumqfP+hy9qCLT1wXnryMpH06
4YEZkwp7OuK8KiwRkJs46YDwbwKBgQDHPcAW3xiGfEVPWRui3FWj+NgnaUagPvOV
8XeVSwk6XW4RfJdISVdT1gKtjPV8UJ8kSogW6tVrWtZ73fd/uLrYwdCp9btBu7Dv
rA6nMeg8rLPr0Aq9Obv+ANk/TtgFqQjfZqqbxISspzazM1rBQq+/njXt8jFwliSW
/CX6WVU7swKBgQDG1l2rVRRe1ICGRZYzXDaUXM9oBTQ//8u0U3M1bEdD/n1g+185
zNQdWhVzmuh+kGUA9ybBPo8curF3VCFjEQHU/o6r+gdgcvB3PjtfUVRARiursRSs
yuD4uL2dE06rjMrrEOi5D6PoAJr4JOXhwFDLm3A1OugbCZIKiMjXITdspwKBgFTw
M0rM0yTKJ7YbE9gLPItJ08SBcfVwwOFkbol70rRKDllwFwJfGdaIvt2D4UedCysq
hvfWJyO8NwHZb+DIPQeZIL7EHo94V4blf92xPgNX0OAv8dQXn9g6PmNp1lgbZsfu
eb8sOS9tnbkppIANUOVMqksFXCRWLcUcO4iNuvNXAoGANA/bSU1uJTw0tQMyewcL
X0kskpHiEICH131yQgXsOI38uGAz7F4/i8OSQ77hNSF2b7XcNwf2rNkybswyulMu
4SfhKDHslFSHW3iMXNDxh3YHk71I+n9cXVjPtW5WuxFn7plJM6zvhzPy2xpGqoPL
FUw5z8qWROqGOrXenjAWdnw=
-----END PRIVATE KEY-----

1
rust-toolchain Normal file
View File

@@ -0,0 +1 @@
1.71.0

View File

@@ -55,9 +55,13 @@ async fn tcp() -> Result<()> {
});
test("tests/for_tcp/tcp_transport.toml", Type::Tcp).await?;
// FIXME: Self-signed certificate on Mac requires mannual interference. Disable CI for now
#[cfg(not(target_os = "macos"))]
#[cfg(any(feature = "native-tls", feature = "rustls"))]
#[cfg(any(
// FIXME: Self-signed certificate on macOS nativetls requires manual interference.
all(target_os = "macos", feature = "rustls"),
// On other OS accept run with either
all(not(target_os = "macos"), any(feature = "native-tls", feature = "rustls")),
))]
test("tests/for_tcp/tls_transport.toml", Type::Tcp).await?;
#[cfg(feature = "noise")]
@@ -92,9 +96,13 @@ async fn udp() -> Result<()> {
});
test("tests/for_udp/tcp_transport.toml", Type::Udp).await?;
// See above
#[cfg(not(target_os = "macos"))]
#[cfg(any(feature = "native-tls", feature = "rustls"))]
#[cfg(any(
// FIXME: Self-signed certificate on macOS nativetls requires manual interference.
all(target_os = "macos", feature = "rustls"),
// On other OS accept run with either
all(not(target_os = "macos"), any(feature = "native-tls", feature = "rustls")),
))]
test("tests/for_udp/tls_transport.toml", Type::Udp).await?;
#[cfg(feature = "noise")]