getsentry / action-release

GitHub Action for creating a release on Sentry
Apache License 2.0
446 stars 53 forks source link

'strip_common_prefix' removing too much #162

Open iBotPeaches opened 1 year ago

iBotPeaches commented 1 year ago

Environment

v1

Steps to Reproduce

    - name: Create Sentry release
      uses: getsentry/action-release@v1
      env:
        SENTRY_ORG: redacted
      with:
        environment: ${{ inputs.env_name }}
        version: ${{ inputs.version }}
        sourcemaps: './public/js ./public/assets/js'
        strip_common_prefix: 'true'
        url_prefix: '~'

Expected Result

Files would get uploaded stripping the common prefix (ie public), but instead get stripped way too much. If we look at the directory breakdown we have:

public/assets/js/*.chunk.js
public/js/*.js

Actual Result

Screenshot 2023-07-17 at 12 04 12 PM

Basically we see it stripped way more than I expect. I would imagine the only common difference between those two above paths is up to the public part.

I expected to get files uploaded like:

However, it stripped assets/js from the first and js from the 2nd. Which of course in my eyes is the reason the sourcemaps are not working

We've encountered 1 problem un-minifying your applications source code!

philipphofmann commented 1 year ago

This issue was opened at https://github.com/getsentry/sentry-fastlane-plugin, but I think it belongs here.

iBotPeaches commented 1 year ago

thanks.

I see this is probably because the loop is just making one-off calls to the CLI - https://github.com/getsentry/action-release/blob/master/src/main.ts#L48-L60C22

Maybe that parameter was intended to be used for all the files in one directory (to clean that path). When I passed two directories and assumed it would find the common of both - thats not how its working.

Since it'll just map/format each entry in my list independently. I'll do some research into what the CLI can take, since if it can eat multiple sourcemaps at once - this might resolve itself.

However,