softprops / serverless-rust

⚡ 🦀 a serverless framework plugin for rustlang applications
https://www.npmjs.com/package/serverless-rust
MIT License
545 stars 82 forks source link

Local target linker options #112

Closed StefanNienhuis closed 2 years ago

StefanNienhuis commented 2 years ago

This PR based off of the branch of #111, as I needed this to test locally. Please review and merge that PR before this one, and then I'll rebase this if needed.

What did you implement:

Implements custom target and linker options for local builds. The motivation behind this is that I want to run Rust functions locally, without a Docker container that slows things down. This greatly improves the developer experience.

For example, to the compiled Rust function locally on an ARM Mac. Specify these options in serverless.yml:

custom:
  rust:
    dockerless: true
    target: aarch64-apple-darwin
    linker: clang

How did you verify your change:

I successfully ran the compiled Rust function locally.

What (if anything) would need to be called out in the CHANGELOG for the next release:

Added custom target and linker options for local builds.

StefanNienhuis commented 2 years ago

(rebased on 110-fix-zip-permissions)

softprops commented 2 years ago

Thanks. I don’t have a m1 to test this out but otherwise it makes sense to me