Search code examples
ffmpegcontinuous-integrationgithub-actionsaccess-token

How to debug GitHub Action failure


Just yesterday a stable GitHub Action (CI) started failing rather cryptically and I've run out of tools to debug it.

All I can think of is our BUNDLE_ACCESS_TOKEN went bad somehow but I didn't set that up. It's an Action secret under Repository Secrets that are not visible in GitHub UI. How can I test to see if it's valid?

Or maybe it's something else?!? "Bad credentials" is vague...

Here's the meat of the action we're trying to run:

#my_tests.yml
jobs:
  my-test:
    runs-on: ubuntu-latest
    services:
      postgres:
        image: postgres:13.4
        env:
          POSTGRES_USERNAME: postgres
          POSTGRES_PASSWORD: postgres
          POSTGRES_DB: myapp_test
        ports:
          - 5432:5432
        options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
    env:
      RAILS_ENV: test
      POSTGRES_HOST: localhost
      POSTGRES_USERNAME: pg
      POSTGRES_PASSWORD: pg
      GITHUB_TOKEN: ${{ secrets.BUNDLE_ACCESS_TOKEN }}
      BUNDLE_GITHUB__COM: x-access-token:${{ secrets.BUNDLE_ACCESS_TOKEN }}
      CUCUMBER_FORMAT: progress
    steps:
      - uses: actions/checkout@v2
      - uses: FedericoCarboni/setup-ffmpeg@v1
      ...

And with debug turned on here's the Failure (line 20) from GitHub Actions:

Run FedericoCarboni/setup-ffmpeg@v1

1 ------- ##[debug]Evaluating condition for step: 'Run FedericoCarboni/setup-ffmpeg@v1'
2 ##[debug]Evaluating: success()
3 ##[debug]Evaluating success:
4 ##[debug]=> true
5 ##[debug]Result: true
6 ##[debug]Starting: Run FedericoCarboni/setup-ffmpeg@v1
7 ##[debug]Loading inputs
8 ##[debug]Loading env
9 Run FedericoCarboni/setup-ffmpeg@v1
10   with:
11   env:
12     RAILS_ENV: test
13     POSTGRES_HOST: localhost
14     POSTGRES_USERNAME: pg
15     POSTGRES_PASSWORD: pg
16     GITHUB_TOKEN: ***
17     BUNDLE_GITHUB__COM: x-access-token:***
19     CUCUMBER_FORMAT: progress
20 Error: Bad credentials
21 ##[debug]Node Action run completed with exit code 1
22 ##[debug]Finishing: Run FedericoCarboni/setup-ffmpeg@v1

Thanks for any help.


Solution

  • For your particular case try scoping GITHUB_TOKEN and BUNDLE_GITHUB__COM only to steps that actually use it instead the whole job.

    Also consider switching to FedericoCarboni/setup-ffmpeg@v2 it has built in support for github.token.

    Generic GH Action Debugging