mirror of
https://github.com/google/cpu_features.git
synced 2025-04-28 15:33:37 +02:00
65 lines
3.1 KiB
Markdown
65 lines
3.1 KiB
Markdown
# GitHub-CI Status
|
|
| Os | amd64 | AArch64 | ARM | MIPS |
|
|
| :-- | --: | --: | --: | --: |
|
|
| FreeBSD | [![][img_1a]][lnk_1a] | ![][img_na] | ![][img_na] | ![][img_na] |
|
|
| Linux | [![][img_2a]][lnk_2a] | [![][img_2b]][lnk_2b] | [![][img_2c]][lnk_2c] | [![][img_2d]][lnk_2d] |
|
|
| MacOS | [![][img_3a]][lnk_3a] | ![][img_na] | ![][img_na] | ![][img_na] |
|
|
| Windows | [![][img_4a]][lnk_4a] | ![][img_na] | ![][img_na] | ![][img_na] |
|
|
|
|
[img_na]: https://img.shields.io/badge/build-N%2FA-lightgrey
|
|
[lnk_1a]: https://github.com/google/cpu_features/actions/workflows/amd64_freebsd_cmake.yml
|
|
[img_1a]: https://img.shields.io/github/workflow/status/google/cpu_features/amd64%20FreeBSD%20CMake/main
|
|
[lnk_2a]: https://github.com/google/cpu_features/actions/workflows/amd64_linux_cmake.yml
|
|
[img_2a]: https://img.shields.io/github/workflow/status/google/cpu_features/amd64%20Linux%20CMake/main
|
|
[lnk_3a]: https://github.com/google/cpu_features/actions/workflows/amd64_macos_cmake.yml
|
|
[img_3a]: https://img.shields.io/github/workflow/status/google/cpu_features/amd64%20MacOS%20CMake/main
|
|
[lnk_4a]: https://github.com/google/cpu_features/actions/workflows/amd64_windows_cmake.yml
|
|
[img_4a]: https://img.shields.io/github/workflow/status/google/cpu_features/amd64%20Windows%20CMake/main
|
|
[lnk_2b]: https://github.com/google/cpu_features/actions/workflows/aarch64_linux_cmake.yml
|
|
[img_2b]: https://img.shields.io/github/workflow/status/google/cpu_features/AArch64%20Linux%20CMake/main
|
|
[lnk_2c]: https://github.com/google/cpu_features/actions/workflows/arm_linux_cmake.yml
|
|
[img_2c]: https://img.shields.io/github/workflow/status/google/cpu_features/ARM%20Linux%20CMake/main
|
|
[lnk_2d]: https://github.com/google/cpu_features/actions/workflows/mips_linux_cmake.yml
|
|
[img_2d]: https://img.shields.io/github/workflow/status/google/cpu_features/MIPS%20Linux%20CMake/main
|
|
|
|
## Makefile/Docker testing
|
|
To test the build on various distro, we are using docker containers and a Makefile for orchestration.
|
|
|
|
pros:
|
|
* You are independent of third party CI runner config
|
|
(e.g. [github action virtual-environnments](https://github.com/actions/virtual-environments)).
|
|
* You can run it locally on your linux system.
|
|
* Most CI provide runners with docker and Makefile installed.
|
|
|
|
cons:
|
|
* Only GNU/Linux distro supported.
|
|
|
|
### Usage
|
|
To get the help simply type:
|
|
```sh
|
|
make
|
|
```
|
|
|
|
note: you can also use from top directory
|
|
```sh
|
|
make --directory=ci
|
|
```
|
|
|
|
### Example
|
|
For example to test mips32 inside an container:
|
|
```sh
|
|
make mips32_test
|
|
```
|
|
|
|
### Docker layers
|
|
Dockerfile is splitted in several stages.
|
|
|
|

|
|
|
|
|
|
## Makefile/Vagrant testing
|
|
To test build for FreeBSD we are using Vagrant and VirtualBox box.
|
|
|
|
This is similar to the docker stuff but use `vagrant` as `docker` cli and
|
|
VirtuaBox to replace the docker engine daemon.
|