aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/ci.yml (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-10-13CI: Bump and ref actions by commit SHA in ci.ymlGabriela Gutierrez1-2/+2
Referencing actions by commit SHA in GitHub workflows guarantees you are using an immutable version. Actions referenced by tags and branches are more vulnerable to attacks, such as the tag being moved to a malicious commit or a malicious commit being pushed to the branch. It's important to make sure the SHA's are from the original repositories and not forks. For reference: https://github.com/actions/checkout/releases/tag/v4.1.0 https://github.com/actions/checkout/commit/8ade135a41bc03ea155e62e844d188df1ea18608 https://github.com/actions/upload-artifact/releases/tag/v3.1.3 https://github.com/actions/upload-artifact/commit/a8a3f3ad30e3422c9c7b888a15615d19a852ae32 Signed-off-by: Gabriela Gutierrez <gabigutierrez@google.com>
2023-09-14CI: Enable CLMUL in address sanitization test.Jia Tan1-8/+4
The crc64_clmul() function should be ignored by the address sanitizer now so these builds should still pass.
2023-06-28CI: Add test with -fsanitize=address,undefined.Jia Tan1-4/+19
ci_build.sh was updated to accept disabling of __attribute__ ifunc and CLMUL. This will allow -fsanitize=address to pass because ifunc is incompatible with -fsanitize=address. The CLMUL implementation has optimizations that potentially read past the buffer and mask out the unwanted bytes. This test will only run on Autotools Linux.
2023-06-28CI: Upgrade checkout action from v2 to v3.Jia Tan1-1/+1
2023-06-07CI: Add apt update command before installing dependencies.Jia Tan1-2/+6
Without the extra command, all of the CI tests were automatically failing because the Ubuntu servers could not be reached properly.
2023-04-25CI: Adds a build and test for small configuration.Jia Tan1-0/+5
2023-03-29CI: Tests for disabling threading on CMake builds.Jia Tan1-3/+0
2023-03-24CI: Runs CMake feature tests.Jia Tan1-114/+55
Now, CMake will run similar feature disable tests that the Autotools version did before. In order to do this without repeating lines in ci.yml, it now makes sense to use the GitHub Workflow matrix to create a loop.
2023-03-17CI: Add doxygen as a dependency.Jia Tan1-3/+2
Autogen now requires --no-doxygen or having doxygen installed to run without errors.
2023-02-01CI: Upload test logs as artifacts if a test fails.Jia Tan1-17/+43
2023-01-18CI: Reorder 32-bit build first for Linux autotool builds.Jia Tan1-5/+12
The 32-bit build needs to be first so the configure cache only needs to be reset one time. The 32-bit build sets the CFLAGS env variable, so any build using that flag after will fail unless the cache is reset.
2023-01-12CI: Disable shared and nls from various jobs in autotool runners.Jia Tan1-28/+28
Disabling shared library generation and linking should help speed up the runners. The shared library is still being tested in the 32 bit build and the full feature. Disabling nls is to check for any unexpected warnings or errors.
2023-01-12CI: Reorder the 32-bit job in the Ubuntu runner.Jia Tan1-5/+5
Run the 32 bit job sooner since this is a more interesting test than some of the later jobs.
2023-01-11CI/CD: Add 32-bit build and test steps to Ubuntu autotools runner.Jia Tan1-1/+6
If all goes well, Mac autotools and Linux and Mac CMake will be added later for 32-bit builds.
2023-01-07CI/CD: Split CMake Linux and MacOS build phase to build and test.Jia Tan1-2/+6
The phase split was only done for Autotools before, so should also apply to CMake.
2023-01-07CI/CD: Reduce job runners to 4 instead of using matrix strategy.Jia Tan1-12/+83
The old version used too many runners that resulted in unnecessary dependency downloads. Now, the runners are reused for the different configurations for each OS and build system.
2022-12-30CI/CD: Create initial version of CI/CD workflow.Jia Tan1-0/+72
The CI/CD workflow will only execute on Ubuntu and MacOS latest version. The workflow will attempt to build with autotools and CMake and execute the tests. The workflow will run for all pull requests and pushes done to the master branch.