getappmap / appmap-intellij-plugin

MIT License
38 stars 9 forks source link

Copy bundled agent.jar file if download of the latest version failed #721

Closed jansorg closed 5 months ago

jansorg commented 5 months ago

Closes https://github.com/getappmap/appmap-intellij-plugin/issues/643

This PR adds a fallback to the agent JAR download. If the download from the remote locations failed, then the bundled agent jar is copied to the agent.jar location in the user's home directory. Because the bundled jar file name doesn't contain the version, we copy the bundled file to $HOME/.appmap/lib/java/appmap.jar and not to something like $HOME/.appmap/lib/java/appmap-1.2.3.jar.

The bundled jar is only copied to the local location if it does not yet exist, i.e. a previously downloaded version is not replaced with the bundled jar if downloading the latest jar failed.

jansorg commented 5 months ago

This is ready for review. Job appmap-analysis fails for unknown reasons and even a restart doesn't fix it.

/home/runner/work/_actions/getappmap/install-action/v1/webpack:/install-appmap-action/node_modules/@appland/action-utils/build/locateToolsRelease.js:28
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
^
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:

  (0, assert_1.default)(asset)

    at /home/runner/work/_actions/getappmap/install-action/v1/webpack:/install-appmap-action/node_modules/@appland/action-utils/build/locateToolsRelease.js:83:1
    at Generator.next (<anonymous>)
    at fulfilled (/home/runner/work/_actions/getappmap/install-action/v1/webpack:/install-appmap-action/node_modules/@appland/action-utils/build/locateToolsRelease.js:28:1)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
jansorg commented 5 months ago

I noticed that the AppMap analysis job doesn't turn green after it turned red. For example, in this PR the first test execution failed, AppMap analysis turned red and now stays red. I'm not sure what's causing it...

Update: For https://github.com/getappmap/appmap-intellij-plugin/pull/723 it failed even for the first, successful run.

kgilpin commented 5 months ago

For some reason, there is no Linux build for this release https://github.com/getappmap/appmap-js/releases

Using @appland/appmap release @appland/appmap-v3.147.1 for linux-x64

/home/runner/work/_actions/getappmap/install-action/v1/webpack:/install-appmap-action/node_modules/@appland/action-utils/build/locateToolsRelease.js:28
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
^
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:

  (0, assert_1.default)(asset)

    at /home/runner/work/_actions/getappmap/install-action/v1/webpack:/install-appmap-action/node_modules/@appland/action-utils/build/locateToolsRelease.js:83:1
    at Generator.next (<anonymous>)
    at fulfilled (/home/runner/work/_actions/getappmap/install-action/v1/webpack:/install-appmap-action/node_modules/@appland/action-utils/build/locateToolsRelease.js:28:1)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
kgilpin commented 5 months ago

Which is obviously unrelated to this fix, but still strange and important.

apotterri commented 5 months ago

Ok, so we can just go ahead and merge this, yes?

appland-release commented 5 months ago

:tada: This PR is included in version 0.68.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: