Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when running smoke tests #165

Closed
ErikSchierboom opened this issue Mar 5, 2024 · 7 comments · Fixed by #170
Closed

Error when running smoke tests #165

ErikSchierboom opened this issue Mar 5, 2024 · 7 comments · Fixed by #170
Assignees

Comments

@ErikSchierboom
Copy link
Member

There is an error when running the smoke tests:

tcc: error: libtcc1.a not found\n\u001B[1m\u001B[0m\u001B[31mError: \u001B[0mexecution of an external program failed: 'tcc -o test_hello_world  -lm -lm -lrt   -ldl    /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@sstd@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@spure@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@spure@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@m..@s..@snim@slib@[email protected] /root/.cache/nim/test_hello_world_d/@munittest_json.nim.c.o /root/.cache/nim/test_hello_world_d/@mhello_world.nim.c.o /root/.cache/nim/test_hello_world_d/@mtest_hello_world.nim.c.o'\u001B[36m\u001B[0m\u001B[0m\

See https://github.com/exercism/nim-test-runner/actions/runs/8156023911/job/22292767646?pr=164 for the workflow run that failed.

See https://forum.exercism.org/t/nim-test-runner-bug-after-exercism-submit/10088/8 for the original mention.

@ee7
Copy link
Member

ee7 commented Mar 5, 2024

It looks like one underlying factor here is that the ci workflow didn't run on #161 due to the paths-ignore:

push:
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'

This is a perfect example of how ignoring paths can decrease robustness. It's impossible to pin everything with alpine, so a docs-only change in this repo doesn't mean that everything else still works. If we're autodeploying on pushing to main, it's critical that exact state is fully tested beforehand.

@ErikSchierboom
Copy link
Member Author

Agreed. Feel free to remove those ignore paths.

@ynfle
Copy link
Contributor

ynfle commented Mar 7, 2024

Isn't the issue that we deploy even when we ignore paths?
Is the change in markdown files what caused the compiler error?

@ErikSchierboom
Copy link
Member Author

Isn't the issue that we deploy even when we ignore paths?

Well, yes, but one way to avoid that is to not merge PRs that fail CI.

Is the change in markdown files what caused the compiler error?

I don't think it was, but I think (part of) the Dockerfile was rebuilt and that introduced an error.

Do you have any idea on what causes the error?

@ee7
Copy link
Member

ee7 commented Mar 7, 2024

any idea on what causes the error?

I have some suspicions. I'll try to look later today.

@ErikSchierboom
Copy link
Member Author

I've tried to upgrade to the latest Alpine version but that didn't seem to help.

@ee7
Copy link
Member

ee7 commented Mar 7, 2024

Should be fixed by #170.

@ee7 ee7 closed this as completed in #170 Mar 8, 2024
ee7 added a commit that referenced this issue Mar 8, 2024
Despite no change to the Dockerfile on our end, we were seeing an error:

    tcc: error: libtcc1.a not found

This was due to Alpine splitting the tcc package [1] into:

- tcc

- tcc-dev

- tcc-doc

- tcc-libs

- tcc-libs-static

combined with the other underlying problems:

- The tcc package isn't pinned, because we can't reliably pin package
  versions on Alpine [2]

- The tcc package in Alpine is in the testing repo, which makes breaking
  changes more likely

- The CI workflow was skipped in a PR that changed only docs, but would
  have failed if it ran

- The deployment workflow runs on main even if the CI workflow fails on
  main

Install the new tcc-libs-static subpackage so that libtcc1.a is
available again. See the contents of the tcc packages [3][4][5][6][7].

This commit also bumps the tcc version, because the current state [8]
was deployed after the upstream bump [9].

Fixes: #165
Fixes: #166

[1] https://git.alpinelinux.org/aports/commit/?id=e2fff91d821a89e4ce5a205207181ed9fdb18c16
[2] https://gitlab.alpinelinux.org/alpine/abuild/-/issues/9996
[3] https://pkgs.alpinelinux.org/contents?branch=edge&name=tcc&arch=x86_64&repo=testing
[4] https://pkgs.alpinelinux.org/contents?branch=edge&name=tcc%2ddev&arch=x86_64&repo=testing
[5] https://pkgs.alpinelinux.org/contents?branch=edge&name=tcc%2ddoc&arch=x86_64&repo=testing
[6] https://pkgs.alpinelinux.org/contents?branch=edge&name=tcc%2dlibs&arch=x86_64&repo=testing
[7] https://pkgs.alpinelinux.org/contents?branch=edge&name=tcc%2dlibs%2dstatic&arch=x86_64&repo=testing
[8] bcb2010, 2023-10-06, ".github(pause-community-contributions): add custom token"
[9] https://git.alpinelinux.org/aports/commit/testing?id=d697e994f093e65208d05a83bf2a0a9750002d20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants