pion / .goassets

Asset files automatically deployed to Go package repositories
https://pion.ly/
MIT License
9 stars 10 forks source link

Update Docker tests #166

Open stv0g opened 1 year ago

stv0g commented 1 year ago

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 commented 1 year ago

Test in https://github.com/pion/ci-sandbox/pull/89

stv0g commented 1 year ago

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 :)

at-wat commented 1 year ago

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