Skip to content
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

Migrate Rust app to async/await syntax #15

Closed
wants to merge 3 commits into from

Conversation

deciduously
Copy link
Contributor

Hi Dave,

I've been meaning to do this for months - this PR removes the extra logging dependency and rolls Hyper forward to 0.13 so we can use the newly stabilized async/await syntax, which I feel is an increase in code clarity. I also added anyhow::Error as in improvement over Box<dyn std::error::Error to skirt around a few wayward unwrap()s.

The app appears to run properly. However, I was unable to build the acceptance test as-is and don't use Ruby so wasn't immediately clear on whether it's a me problem or a repo problem:

Installing nokogiri 1.8.4 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /home/ben/code/todo-mvp/acceptance_test/ruby/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.8.4/ext/nokogiri
/usr/bin/ruby2.5 -r ./siteconf20200228-10764-csm9mr.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /home/ben/code/todo-mvp/acceptance_test/ruby/vendor/bundle/ruby/2.5.0/gems/nokogiri-1.8.4 for inspection.
Results logged to /home/ben/code/todo-mvp/acceptance_test/ruby/vendor/bundle/ruby/2.5.0/extensions/x86_64-linux/2.5.0/nokogiri-1.8.4/gem_make.out

An error occurred while installing nokogiri (1.8.4), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.8.4' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  nokogumbo was resolved to 1.5.0, which depends on
    nokogiri

Admittedly, I spent about zero time debugging this issue. Could you let me know if I should be expected to follow the acceptance test readme as-is, or does a dependency need to bump? If it's on my end, I'll play with it until i can pass the tests locally.

Once this lands, I'll update the blogpost.

@gypsydave5
Copy link
Owner

Let me take a look at this and see if I can tidy up / fix the tests 🤞

@gypsydave5
Copy link
Owner

gypsydave5 commented Mar 2, 2020

Hey @deciduously - in the grand tradition of superior engineering, I'm pleased to say that 'it works fine on my machine' 🙄

It's probably a Ruby version issue - I'm running 2.6.3p62 locally; and it looks like you're running 2.5. I'll mention this in the Readme, and try and pin it in the Gemfile. Nokogiri native extensions failing to build haunts my Ruby dreams. I'm sorry you've had to put up with this.

If you're feeling particularly disgusted with the Ruby acceptance tests, I did start trying to write them in Rust a while back...

And, on the subject of Readmes - I've just noticed that your app doesn't have one. Could you pop together a short thing with 'how to make this run' in it?

Other than that, very happy to merge!

Also bump lockfile, for good measure
@deciduously
Copy link
Contributor Author

Aha - updating Ruby did the trick. Welcome to the present, Ben...

Duly noted re: Rust acceptance test - adding to the ever-increasing backburner :)

@deciduously
Copy link
Contributor Author

I want to close this in favor of #20

@deciduously deciduously deleted the async-await-rs branch November 21, 2021 20:13
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.

2 participants