serverless / serverless-azure-functions

Serverless Azure Functions Plugin – Add Azure Functions support to the Serverless Framework
MIT License
266 stars 159 forks source link

Release of new changes #654

Closed nhalstead closed 1 year ago

nhalstead commented 1 year ago

There have been changes made to the repo that still needs to be released. This includes the support for Node18 runtime that Azure has supported and was added to this repo but has yet to be released.

Diff: https://github.com/serverless/serverless-azure-functions/compare/f1c480f65d2cbe4f4682d2a154e755cc651bf7d6..master

AndyM1H commented 1 year ago

Totally agree. Is it possible to know when the new release will be? Azure will deprecate NodeJS 14 on April 30.

caltuco commented 1 year ago

We are facing the possibility to changes our deployments with Terraform, we need to use Node18 and right now we're stuck with the serverless framework.

nhalstead commented 1 year ago

Hi @gligorkot, Can you make a release for the changes to this package?

gligorkot commented 1 year ago

Hi @nhalstead, unfortunately I can't... I was working with @medikoo to help get the package released as we need it as well, I think the last step is to get #653 merged in which addresses @medikoo's requirements outlined in #645, but I haven't heard from him lately.

What we've done in the meantime on our stack is, we use patch-package https://www.npmjs.com/package/patch-package and apply this patch on top of 2.1.3 to support Node 18. You'd still need to use extension version v4 as explained in here to support Node 18 as well. https://github.com/serverless/serverless-azure-functions/issues/592#issuecomment-1288130494

serverless-azure-functions+2.1.3.patch

Hope the above helps get you moving and we can get a new release out soon.

medikoo commented 1 year ago

All we need to publish a new release is an integration job setup in CI. Please see my comment in #645

I will also be happy to give a maintenance rights to anyone interested (but first let's get through few submissions together)

gligorkot commented 1 year ago

@medikoo please check my comment here https://github.com/serverless/serverless-azure-functions/issues/645#issuecomment-1539773548 - I tried fixing the integration tests, but they require an Azure subscription. Any chance we can please skip integration tests and release at least a new minor version, then we can release a new major version once integration tests are up and running?

Here's my branch with possible fixes for the integration tests https://github.com/gligorkot/serverless-azure-functions/tree/integration-test-possible-fix

gligorkot commented 1 year ago

Version 2.2.0 is out now with Node 16 and 18 support!

medikoo commented 1 year ago

@gligorkot I've just checked the CI output, and one thing that worries me is list of published files:

npm notice 
npm notice 📦  serverless-azure-functions@2.2.0
npm notice === Tarball Contents === 
npm notice 1.1kB  LICENSE     
npm notice 14.2kB README.md   
npm notice 3.4kB  package.json
npm notice === Tarball Details === 
npm notice name:          serverless-azure-functions              
npm notice version:       2.2.0                                   
npm notice filename:      serverless-azure-functions-2.2.0.tgz    
npm notice package size:  6.9 kB                                  
npm notice unpacked size: 18.6 kB                                 
npm notice shasum:        c61b3690e396c05b73bf40096ca5e93c2f0dd042
npm notice integrity:     sha512-Byq3so3WIYQ+u[...]WD2LXW4KfTEGA==
npm notice total files:   3                                       
npm notice 
npm notice Publishing to https://registry.npmjs.org/ with tag latest and default access

It seems that no real logic was included, and empty (broken) release was just published (I think it can be debugged locally by running npm pack as that would generate tar without publish attempt)

gligorkot commented 1 year ago

Oh @medikoo that's no good, ok, I'll give it a go locally and see if I can resolve

medikoo commented 1 year ago

As I checked, the cause is here: https://github.com/serverless/serverless-azure-functions/blob/dfeb0c5cdff19fd5eb38f35c9fbd3b423bda4af3/package.json#L44-L46

I strongly suggest to revert from allow list approach (remove files setting in package.json) and instead rely on deny list (configured in .npmignore).

I remember we faced one similar issue in Framework deployment, where some important files failed to be included in the package, producing broken release.

In packages I maintain, I also issue tests against npm pack result -> https://github.com/medikoo/github-actions-workflows/blob/9009d668cf21e399ed67764af59c22120e34b97f/.github/workflows/8-validate.yml#L88-L129 It might be worthwhile to add such tests in CI here

gligorkot commented 1 year ago

@medikoo I saw that I had missed a build package step in the publish script - I just added it here to this PR #665 https://github.com/serverless/serverless-azure-functions/pull/665/commits/bf5a680c85c7b1c65963b18c2985dbfbd948d9a0 do you mind having a look please?

gligorkot commented 1 year ago

@medikoo tested locally after running npm run build and then npm pack I see all the files in the output correctly. I think it should be good to go now.

gligorkot commented 1 year ago

@medikoo looks like it has worked after the updates. v2.2.1 is out.

medikoo commented 1 year ago

@gligorkot great to hear that 🎉