Wandalen / wretry.action

Retry action for Github CI
MIT License
93 stars 20 forks source link

"The required feature 'pre-entrypoint' does not implemented." #137

Closed nicolassanmar closed 6 months ago

nicolassanmar commented 6 months ago

I want to update the Wandalen/wretry.action from version 1.3.0 to the latest one v1.4.7. Unfortunately, this causes my workflow to fail, with a The required feature "pre-entrypoint" does not implemented. error:

image

The underlying action is very simple, and does not have any pre or post steps, so it should not require the retry action to implement anything. The action I want to retry (https://github.com/oasdiff/oasdiff-action) uses docker which is what apparently triggers this error: https://github.com/Wandalen/wretry.action/blob/7f0b039c33d423b6fa81d57b436a911bafa58bcb/src/Retry.js#L111

      - name: Staging OpenAPI schema should be backwards compatible with committed one (with retries)
        uses: Wandalen/wretry.action@v1.4.7
        with:
          action: oasdiff/oasdiff-action/breaking@v0.0.17
          attempt_limit: 2
          with: |
            base: 'server/data-api/openapi.json'
            revision: ${{ env.AERIAL_DATA_STAGING_URL }}/openapi.json
            fail-on-diff: true

Due to this issue, I cannot upgrade to the latest Wandalen/wretry.action version, as this only works on the one I'm currently on (1.3.0)

dmvict commented 6 months ago

Hello @nicolassanmar

I'll check the issue. I suppose that the reason is in Always has pre and post stages. If external action has pre or/and post stage, then action run it also.

dmvict commented 6 months ago

@nicolassanmar

I published the new version of action. It should fix the issue.

nicolassanmar commented 6 months ago

Thanks for the quick response @dmvict!

This did fix the issue I had, unfortunately, the action now fails in a different step (the main action, not pre or post):

image

Note that this worked on 1.3.0, but not on v1.4.8 (I retried a few times)

dmvict commented 6 months ago

Hello @nicolassanmar

Can you try new version of the action?

nicolassanmar commented 6 months ago

@dmvict Thanks for the quick update again.

It seems that we are moving in the right direction, but even though the previous error was fixed, the action was unable to start in v1.4.9 as well. The action fails in an assertion from wretry, here are the logs:

Dockerfile for action : /home/runner/work/_actions/Wandalen/oasdiff-action/breaking/Dockerfile.
docker build -t breaking_repo:breaking_tag -f /home/runner/work/_actions/Wandalen/oasdiff-action/breaking/Dockerfile /home/runner/work/_actions/Wandalen/oasdiff-action/breaking
 = Message of Error#1
    Assertion fails
    Error starting the process
        Exec path : docker run --name breaking_tag --label breaking_repo --workdir /github/workspace --rm -e AERIAL_DATA_STAGING_URL -e AERIAL_DATA_PRODUCTION_URL -e INPUT_BASE -e INPUT_REVISION -e INPUT_FAIL-ON-DIFF -e INPUT_INCLUDE-PATH-PARAMS -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_REPOSITORY_OWNER_ID -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_RUN_ATTEMPT -e GITHUB_REPOSITORY_ID -e GITHUB_ACTOR_ID -e GITHUB_ACTOR -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_REF_NAME -e GITHUB_REF_PROTECTED -e GITHUB_REF_TYPE -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e GITHUB_STEP_SUMMARY -e GITHUB_STATE -e GITHUB_OUTPUT -e RUNNER_OS -e RUNNER_ARCH -e RUNNER_NA
        Current path : /home/runner/work/aerial-app/aerial-app
 = Beautified calls stack
    at Object._argEscape (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:220601:5)
    at Object._argsForm (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:220477:32)
    at argsForm (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:222121:15)
    at form3 (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:221455:5)
    at wConsequence.run2 (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:221554:7)
    at wConsequence.thenGive (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:26602:8)
    at run1 (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:221539:15)
    at Object.startMinimal_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:221263:10)
    at Object.startMinimal_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:67875:24)
    at Object.startSingle_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:222459:44)
    at Object.startSingle_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:67875:24)
    at Object.startMultiple_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:222828:37)
    at Object.startMultiple_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:67875:24)
    at Object.startMultiple (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:68542:23)
    at routine (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/src/Retry.js:135:23)
    at Proxy.Try (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:31901:13)
    at wConsequence.<anonymous> (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:33345:46)
    at wConsequence.thenKeep (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:26644:8)
    at _run (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:33345:20)
    at Object.retry (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:33326:10)
    at wConsequence.<anonymous> (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/src/Retry.js:158:16)
    at wConsequence.thenKeep (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:26644:8)
    at /home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/src/Retry.js:155:16
    at Proxy.Try (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:31901:13)
    at retry (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/src/Retry.js:12:24)
    at Object.<anonymous> (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/src/Main.js:3:1)
    at Module._compile (node:internal/modules/cjs/loader:1241:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)
    at Module.load (node:internal/modules/cjs/loader:1091:32)
    at Module._load (node:internal/modules/cjs/loader:938:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12)
    at node:internal/main/run_main_module:23:47

    at run1 (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:221539:15)
    at Object.startMinimal_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:221263:10)
    at Object.startMinimal_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:67875:24)
    at Object.startSingle_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:222459:44)
    at Object.startSingle_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:67875:24)
    at Object.startMultiple_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:222828:37)
    at Object.startMultiple_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:67875:24)
    at Object.startMultiple (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:68542:23)
    at routine (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/src/Retry.js:135:23)
    at Proxy.Try (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:31901:13)
    at wConsequence.<anonymous> (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:33345:46)
    at wConsequence.thenKeep (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:26644:8)
    at _run (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:33345:20)
    at Object.retry (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:33326:10)
    at wConsequence.<anonymous> (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/src/Retry.js:158:16)
    at wConsequence.thenKeep (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:26644:8)
    at /home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/src/Retry.js:155:16
    at Proxy.Try (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:31901:13)
    at retry (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/src/Retry.js:12:24)
    at Object.<anonymous> (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/src/Main.js:3:1)
    at Module._compile (node:internal/modules/cjs/loader:1241:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)
    at Module.load (node:internal/modules/cjs/loader:1091:32)
    at Module._load (node:internal/modules/cjs/loader:938:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12)
    at node:internal/main/run_main_module:23:47
 = Throws stack
    thrown at Object._argEscape @ /home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:220601:5
    thrown at handleError @ /home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:221908:13
    thrown at handleError @ /home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:221932:12
 = Source code from /home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:220601:5
      220599 :   quote = process.platform === 'win32' ? [ '"' ] : [ '"', '`' ];
      220600 : 
    * 220601 :   _.assert( _.strIs( arg ) );
      220602 :   _.assert( !!quote );
      220603 : 
 = Message of Error#2
    Assertion fails
    Error starting the process
        Exec path : docker run --name breaking_tag --label breaking_repo --workdir /github/workspace --rm -e AERIAL_DATA_STAGING_URL -e AERIAL_DATA_PRODUCTION_URL -e INPUT_BASE -e INPUT_REVISION -e INPUT_FAIL-ON-DIFF -e INPUT_INCLUDE-PATH-PARAMS -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_REPOSITORY_OWNER_ID -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_RUN_ATTEMPT -e GITHUB_REPOSITORY_ID -e GITHUB_ACTOR_ID -e GITHUB_ACTOR -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_REF_NAME -e GITHUB_REF_PROTECTED -e GITHUB_REF_TYPE -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e GITHUB_STEP_SUMMARY -e GITHUB_STATE -e GITHUB_OUTPUT -e RUNNER_OS -e RUNNER_ARCH -e RUNNER_NA
        Current path : /home/runner/work/aerial-app/aerial-app
 = Beautified calls stack
    at Object._argEscape (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:220601:5)
    at Object._argsForm (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:220477:32)
    at argsForm (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:222121:15)
    at form3 (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:221455:5)
    at wConsequence.run2 (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:221554:7)
    at wConsequence.thenGive (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:26602:8)
    at run1 (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:221539:15)
    at Object.startMinimal_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:221263:10)
    at Object.startMinimal_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:67875:24)
    at Object.startSingle_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:222459:44)
    at Object.startSingle_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:67875:24)
    at Object.startMultiple_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:222828:37)
    at Object.startMultiple_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:67875:24)
    at Object.startMultiple (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:68542:23)
    at routine (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/src/Retry.js:135:23)
    at Proxy.Try (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:31901:13)
    at wConsequence.<anonymous> (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:33345:46)
    at wConsequence.thenKeep (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:26644:8)
    at _run (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:33345:20)
    at Object.<anonymous> (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:33381:44)
    at wConsequence.timeEnd2 (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:32694:23)
    at wConsequence.take (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:30045:8)
    at timeEnd1 (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:32768:9)
    at Object._time (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:72265:22)
    at Object.time [as _time] (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:218343:20)
    at time (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:72311:11)
    at timeNonCancelable (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:72304:17)
    at process.processTicksAndRejections (node:internal/process/task_queues:77:11)

    at run1 (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:221539:15)
    at Object.startMinimal_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:221263:10)
    at Object.startMinimal_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:67875:24)
    at Object.startSingle_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:222459:44)
    at Object.startSingle_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:67875:24)
    at Object.startMultiple_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:222828:37)
    at Object.startMultiple_body (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:67875:24)
    at Object.startMultiple (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:68542:23)
    at routine (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/src/Retry.js:135:23)
    at Proxy.Try (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:31901:13)
    at wConsequence.<anonymous> (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:33345:46)
    at wConsequence.thenKeep (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:26644:8)
    at _run (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:33345:20)
    at Object.<anonymous> (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:33381:44)
    at wConsequence.timeEnd2 (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:32694:23)
    at wConsequence.take (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:30045:8)
    at timeEnd1 (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:32768:9)
    at Object._time (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:72265:22)
    at Object.time [as _time] (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:218343:20)
    at time (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:72311:11)
    at timeNonCancelable (/home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:72304:17)
    at process.processTicksAndRejections (node:internal/process/task_queues:77:11)
 = Throws stack
    thrown at Object._argEscape @ /home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:220601:5
    thrown at handleError @ /home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:221908:13
    thrown at handleError @ /home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:221932:12
 = Source code from /home/runner/work/_actions/Wandalen/wretry.action/v1.4.9_js_action/node_modules/Joined.s:220601:5
      220599 :   quote = process.platform === 'win32' ? [ '"' ] : [ '"', '`' ];
      220600 : 
    * 220601 :   _.assert( _.strIs( arg ) );
      220602 :   _.assert( !!quote );
      220603 : 
Error: Assertion fails
Error starting the process
Exec path : docker run --name breaking_tag --label breaking_repo --workdir /github/workspace --rm -e AERIAL_DATA_STAGING_URL -e AERIAL_DATA_PRODUCTION_URL -e INPUT_BASE -e INPUT_REVISION -e INPUT_FAIL-ON-DIFF -e INPUT_INCLUDE-PATH-PARAMS -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_REPOSITORY_OWNER_ID -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_RUN_ATTEMPT -e GITHUB_REPOSITORY_ID -e GITHUB_ACTOR_ID -e GITHUB_ACTOR -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_REF_NAME -e GITHUB_REF_PROTECTED -e GITHUB_REF_TYPE -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e GITHUB_STEP_SUMMARY -e GITHUB_STATE -e GITHUB_OUT
dmvict commented 6 months ago

Hello @nicolassanmar

I've ran the action and put the example https://github.com/oasdiff/oasdiff-action?tab=readme-ov-file#check-for-breaking-api-changes-and-fail-if-any-are-found as input. My action looks like:

jobs:
  success :
    runs-on : ubuntu-latest
    steps :
      - uses: Wandalen/wretry.action@master
        with:
          action: oasdiff/oasdiff-action/breaking@main
          with: |
            base: https://raw.githubusercontent.com/Tufin/oasdiff/main/data/openapi-test1.yaml
            revision: https://raw.githubusercontent.com/Tufin/oasdiff/main/data/openapi-test3.yaml
          attempt_limit: 3
          attempt_delay: 2000

And the result is Passed.

Is it possible that you've put invalid string as input? Please, try to change options format.

nicolassanmar commented 6 months ago

@dmvict Thanks for the follow up.

The usage of the underlying action is correct on my end, as can be confirmed by the fact that it ran without issues before upgrading to v1.4.9 (I was using version 1.3.0).

The difference with the case you tried is that I am using a local file, not a URL.

Here is what my action looks like:

      - name: Staging OpenAPI schema should be backwards compatible with committed one (with retries)
        uses: Wandalen/wretry.action@v1.4.9
        with:
          action: oasdiff/oasdiff-action/breaking@main
          attempt_limit: 2
          with: |
            base: 'server/data-api/openapi.json'
            revision: ${{ env.AERIAL_DATA_STAGING_URL }}/openapi.json
            fail-on-diff: true

(server/data-api/openapi.json is a file we generate in the action, and ${{ env.AERIAL_DATA_STAGING_URL }}/openapi.json is the URL we compare the base file to).

From the stack trace I sent in my previous comment, I can see that it fails on wretry in some assertion, where it looks like something did not get passed as a string.

There are 2 things that could cause the issue in my opinion:

  1. I am using an env variable in the definition, which may cause this issue
  2. I am using a local file and not a URL (less likely to be an issue with wretry)

Hope that is useful to debug this issue. I can provide any other information you might need

nicolassanmar commented 6 months ago

This might be useful:

image

From that image, revision: is not intented to be under the with property, which could explain the issue. The definition of the action (shared above) should have revision within the with property, which could mean that wretry has some bug when using an env variable inside the with?

dmvict commented 6 months ago

Hello @nicolassanmar

I published new version. It should solve your problem.

I found a big issue with the action and I'm going to release a major version soon.

nicolassanmar commented 6 months ago

@dmvict Thanks for the hard work.

This did seem to work!

Now that this is working correctly, I realized that version 1.3.0 was actually not running the underlying action! I found that upgrading to 1.4.10 made the underlying action report a real issue which was not reported while I used 1.3.0. Testing without wrapping it in wretry confirmed the issue was real, and version 1.3.0 did not report it

nicolassanmar commented 6 months ago

To highlight the 1.3.0 issue, here are some screenshots:

Here is the output on 1.3.0 image

And here is the output on 1.4.10 image