ci(gitlab-ci): use Node 16.x for pre-commit in test conversion job

The `test_conversion` job failed during the weekly testing:

* https://gitlab.com/myii/template-formula/-/jobs/2371193438

The `stderr` being:

```
/root/.cache/pre-commit/repomigj3p4n/node_env-default/bin/node:
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found
(required by /root/.cache/pre-commit/repomigj3p4n/node_env-default/bin/node)
```

The following references led to this resolution:

* https://github.com/pre-commit/pre-commit/issues/2351
* https://stackoverflow.com/questions/71939099/bitbucket-pipeline-error-installing-pre-commit-ts-lint

As mentioned there:

> a few days ago node 18.x was released and the prebuilt binaries
> require a relatively-recent version of glibc

Which obviously isn't available on our current Bionic-based `dind` image,
i.e. 'myii/ssf-dind-ruby-bionic:2.7.5-1bbox1'.

While debugging this situation locally, noticed that the use of a
relative `tmp/...` subdirectory was within the `template-formula`
directory itself -- so switched this to using `/tmp/...` instead.
This commit is contained in:
Imran Iqbal 2022-04-25 17:49:25 +01:00
parent 876385a136
commit a1a46ae389
No known key found for this signature in database
GPG key ID: 6D8629439D2B7819

View file

@ -137,8 +137,12 @@ rubocop:
cache: *cache_bundler
before_script:
- 'export CONVERTED=test-the-use_this_template-button'
- 'git clone . tmp/"${CONVERTED}"-formula'
- 'cd tmp/"${CONVERTED}"-formula'
- 'git clone . /tmp/"${CONVERTED}"-formula'
- 'cd /tmp/"${CONVERTED}"-formula'
# Limit the version of `node` used by `pre-commit`, to avoid the following error:
# .../bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found
- 'echo "default_language_version:" >> .pre-commit-config.yaml'
- 'echo " node: 16.14.2" >> .pre-commit-config.yaml'
# Install `pre-commit` hooks
- 'bin/install-hooks'
# Run the conversion script with debug output