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

Update Docker tests #166

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open

Update Docker tests #166

wants to merge 5 commits into from

Conversation

stv0g
Copy link
Member

@stv0g stv0g commented Apr 22, 2023

I've reworked how we run tests. With this PR I propose to use the same workflow for running all our tests (excluding WASM) via Docker.

This allows us to easily also test Pion on non-x86 platforms via QEmu Userspace Emulation.

Currently, we are emulating both the test compilation and execution. I am tempted to put in some more effort to do actual cross-compilation and use QEmu only for the test execution.

However, this is a bit tricky as we need to compile & execute a dedicated test executable for each package.
Which is a bit of an issue as we also need to gather coverage information alongside..

@stv0g
Copy link
Member Author

stv0g commented Apr 22, 2023

Test in pion/ci-sandbox#89

@stv0g stv0g marked this pull request as draft April 22, 2023 09:09
@stv0g stv0g force-pushed the more-platforms branch 20 times, most recently from 8eebdeb to a2f2d93 Compare April 22, 2023 13:20
@stv0g stv0g marked this pull request as ready for review April 22, 2023 13:29
Copy link
Member

@at-wat at-wat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems that the changes in this PR is not actually tested in pion/ci-sandbox#89
(Reusable workflow in the master branch is used and arch input is ignored)

See pion/ci-sandbox#89 (comment)

@stv0g
Copy link
Member Author

stv0g commented May 3, 2023

Oh sorry. They are now tested. However, I am still not completely confident that this is a good change due to its performance implications. Emulating the ARM builds and test execution can be rather slow, and likely break/timeout test cases..

I am also looking into using Vagrant for testing other OSes like BSDs..
Feedback is welcome :)

.github/workflows/test.reusable.yml Show resolved Hide resolved
.github/workflows/test.reusable.yml Outdated Show resolved Hide resolved
@at-wat at-wat self-requested a review May 11, 2023 02:10
@at-wat
Copy link
Member

at-wat commented May 15, 2023

@stv0g I think it's better to test it on some large repos, which take long CI time, to check CI performance impact

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 this pull request may close these issues.

2 participants