hsf.github.io icon indicating copy to clipboard operation
hsf.github.io copied to clipboard

Link checker CI is broken

Open graeme-a-stewart opened this issue 1 year ago • 5 comments

The link checker CI job is currently broken, failing with:

Post job cleanup.
/usr/bin/docker exec  5f2de227f2e534404a85fed795b66374660436ee63cc689ae80f9091a41ea34f sh -c "cat /etc/*release | grep ^ID"
Error relocating /__e/node20_alpine/bin/node: secure_getenv: symbol not found

(see, e.g., here.

graeme-a-stewart avatar Jul 02 '24 06:07 graeme-a-stewart

Hello @graeme-a-stewart ,

I hope you are all doing well.

I've noticed that we're experiencing the same issue with actions/checkout. Have you identified the root cause of this problem? I've tried all versions from v2 to v4 without success. I've observed that your actions are running on GitHub cloud, while mine are on a self-hosted runner.

Thank you in advance for any insights you can provide.

Best regards

sunnysonx avatar Jul 05 '24 11:07 sunnysonx

Hi @sunnysonx - I am afraid we haven't yet managed to investigate this one. We'll post news here when we do. In the meantime, if you find a fix, please let us know!

Best, Graeme

graeme-a-stewart avatar Jul 05 '24 11:07 graeme-a-stewart

Hi @graeme-a-stewart,

All gh actions now are using node20 as default, so the container you use hepsoftwarefoundation/hsf-jekyll doesn't support it, to fix it add the following above the container key.

name: link_checker

on: [push, pull_request]

jobs:
  check_new_links:
    name: link_checker
    runs-on: ubuntu-latest
    env:
      # add them in order to downgrade it 
      ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16
      ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
    container: hepsoftwarefoundation/hsf-jekyll
    steps:
      - name: checkout repository
        uses: actions/checkout@v4

      - name: jekyll build
        run: |
          bundler exec jekyll build
      - name: actions link checker
        uses: gaurav-nelson/github-action-markdown-link-check@v1
        with:
          config-file: '.github/config/mdcheck.json'
          check-modified-files-only: 'yes'
          use-verbose-mode: 'yes'
          base-branch: 'main'

sunnysonx avatar Jul 08 '24 12:07 sunnysonx

Thanks @sunnysonx - we will give that a try! (It is a long time since we updated that container.)

graeme-a-stewart avatar Jul 08 '24 19:07 graeme-a-stewart

@graeme-a-stewart same here, this is why it started to fail. On our side the forced downgrade of node resolved the problem.

sunnysonx avatar Jul 10 '24 08:07 sunnysonx

Hi @sunnysonx

I finally got around to fixing this properly. It was really a pain to maintain our own container for this workflow, so I reworked things to use the native ubuntu-latest platform with the ruby/setup-ruby@v1 being used to setup ruby directly.

This seems to be working pretty nicely.

graeme-a-stewart avatar Aug 23 '24 14:08 graeme-a-stewart