serverless-rust icon indicating copy to clipboard operation
serverless-rust copied to clipboard

CI Pipeline Compatibility

Open TravisCalder opened this issue 2 years ago • 5 comments

What did you implement:

  • Add "strictMode" functionality
    • "strictMode" is on by default
    • When enabled, an error is thrown when no Rust builds are found
    • When disabled, the error is suppressed
    • "strictMode" can be disabled with custom.rust.strictMode: false
  • Fix validation warning
    • serverless does not accept "rust" as a runtime
    • a function can be marked as "rust" the old way, or by adding tags.language: "rust"
  • Support predefined artifacts and skip recompile
    • This allows an artifact to be built in one CI-step and deployed in another
    • When artifact is defined, the artifact zip is uploaded and compile is skipped

Closes: #123

How did you verify your change:

Change was verified locally using npm link locally. The following scenarios were verified:

  • custom.rust.strictMode set to false, provider changed to provided.al2
    • This resulted in no builds, since no rust functions were found, but no errors
  • Set top-level provider.runtime to provided.al2 and added tags: language: "rust"
    • This resulted in the Rust function being correctly identified and compiled
  • Added param:artifact as per linked issue
    • When built with serverless deploy --stage stage, compile occurred as per usual
    • When built with serverless deploy --stage stage --param="artifact=path/file.zip" build was skipped and provided artifact was deployed

TravisCalder avatar Sep 29 '23 03:09 TravisCalder