Link checker CI is broken
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.
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
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
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'
Thanks @sunnysonx - we will give that a try! (It is a long time since we updated that container.)
@graeme-a-stewart same here, this is why it started to fail. On our side the forced downgrade of node resolved the problem.
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.