Skip to content

v2 #1068

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 14, 2025
Merged

v2 #1068

merged 1 commit into from
Jan 14, 2025

Conversation

mxcl
Copy link
Member

@mxcl mxcl commented Jan 10, 2025

No description provided.

@mxcl mxcl force-pushed the v2 branch 4 times, most recently from 516e171 to c177590 Compare January 10, 2025 21:24
@mxcl
Copy link
Member Author

mxcl commented Jan 10, 2025

@jhheider what's going on with these failrues you think?

@jhheider
Copy link
Contributor

jhheider commented Jan 10, 2025

good question. introduced on the last commit to pkgxdev/pkgx.rs. which looked like a simple re-org.

@mxcl
Copy link
Member Author

mxcl commented Jan 10, 2025

yeah I guess it’s my fault, happens there too

@jhheider
Copy link
Contributor

nope, looks like it's the build of cargo-taupaulin.

@jhheider
Copy link
Contributor

same version (0.31.4) but maybe an unfrozen dep updated. winnow probably.

@jhheider
Copy link
Contributor

6 minutes ago: https://crates.io/crates/winnow

@jhheider
Copy link
Contributor

a lot of people aren't gonna like that.

@jhheider
Copy link
Contributor

winnow-rs/winnow#690

@jhheider
Copy link
Contributor

looks like the re-run is gonna work.

@jhheider
Copy link
Contributor

@coveralls
Copy link

coveralls commented Jan 10, 2025

Pull Request Test Coverage Report for Build 12768583963

Details

  • 13 of 791 (1.64%) changed or added relevant lines in 17 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-90.3%) to 1.643%

Changes Missing Coverage Covered Lines Changed/Added Lines %
crates/lib/src/install_multi.rs 0 12 0.0%
crates/lib/src/utils.rs 0 12 0.0%
crates/cli/src/help.rs 0 14 0.0%
crates/cli/src/execve.rs 0 15 0.0%
crates/lib/src/config.rs 0 18 0.0%
crates/lib/src/resolve.rs 0 26 0.0%
crates/lib/src/inventory.rs 0 28 0.0%
crates/lib/src/sync.rs 0 28 0.0%
crates/lib/src/cellar.rs 0 31 0.0%
crates/lib/src/types.rs 0 34 0.0%
Totals Coverage Status
Change from base Build 12663326816: -90.3%
Covered Lines: 13
Relevant Lines: 791

💛 - Coveralls

@jhheider
Copy link
Contributor

pkgxdev/pantry@5ef492d

@mxcl
Copy link
Member Author

mxcl commented Jan 10, 2025

lol
image

@mxcl mxcl force-pushed the v2 branch 8 times, most recently from 067edcc to 137e974 Compare January 11, 2025 18:40
Comment on lines +18 to +24
native-tls = { version = "0.2", features = ["vendored"] }
# ^^ this is a transitive dependency
# ^^ we vendor OpenSSL ∵ we want to be standalone and just work inside minimal docker images
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if you need static ffi, consider: pkgxdev/pantry@b6e6bd6

@mxcl
Copy link
Member Author

mxcl commented Jan 11, 2025

#5 0.120 pkgx: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by pkgx)

Could be more problematic to support. Not sure how far back we can expect glibc support with rust to go. Not sure how to fix that either. Calling it a day for today.

@jhheider
Copy link
Contributor

if you're feeling perverse, i think you can static link musl. but, yes, glibc is the worst thing about linux support.

@mxcl
Copy link
Member Author

mxcl commented Jan 12, 2025

Easy solution was to build in debian:buster-slim. Which then makes me want to check our self hosted linux runners are debian:buster-slim right?

@mxcl
Copy link
Member Author

mxcl commented Jan 12, 2025

Some(Ssl(ErrorStack([Error { code: 167772294, library: "SSL routines", function: "tls_post_process_server_certificate", reason: "certificate verify failed", file: "ssl/statem/statem_clnt.c", line: 2093 }]))) }, X509VerifyResult { code: 20, error: "unable to get local issuer certificate" })) }

ah. Well obv. vendoring OpenSSL is not enough. Should be enough to include the root certificate for https://dist.pkgx.sh presumably. No clue how to do that but will figure it out.

@jhheider
Copy link
Contributor

include_bytes!() probably

@jhheider
Copy link
Contributor

our self hosted linux runners are debian:buster-slim right?

Right.

@jhheider
Copy link
Contributor

LFGoooooooo!

@@ -6,7 +6,7 @@ RUN install -m 755 /pkgx/pkgm /usr/local/bin/pkgm
RUN echo 'export PS1="\\[\\033[38;5;63m\\]pkgx\\[\\033[0m\\]\\w $ "' >> /root/.bashrc

FROM debian:buster-slim as stage1
RUN apt-get update && apt --yes install libc-dev libstdc++-8-dev libgcc-8-dev netbase libudev-dev ca-certificates
RUN apt-get update && apt --yes install libc-dev libstdc++-8-dev libgcc-8-dev netbase libudev-dev ca-certificates sudo
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how come? Trying to keep it minimal. Did I miss somewhere we need this?

Copy link
Contributor

@jhheider jhheider Jan 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That was the last failure with v0.1.0. likely fixed in v0.2.0.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah ok, will remove for my own piece of mind

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note I want ca-certs gone too (and the rest lol), but that fix was more work for now and wanted some progress.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i've been noodling this. embedding certificate info usually isn't a best practice, since it changes with some regularity. but it should be possible. googling suggests:

  • create a Certificate object in build.rs
  • serialize it
  • provide it as a build env
  • deserialize and consume it using env!()
  • use ClientBuilder to create the reqwest client.

@mxcl mxcl marked this pull request as ready for review January 13, 2025 17:17
Copy link
Contributor

@jhheider jhheider left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good. some style questions.

@mxcl mxcl force-pushed the v2 branch 9 times, most recently from 4333067 to 520956d Compare January 14, 2025 02:40
@mxcl mxcl merged commit 8134cd2 into main Jan 14, 2025
16 of 17 checks passed
@mxcl mxcl deleted the v2 branch January 14, 2025 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants