• Home
Name Date Size #Lines LOC

..--

doc/03-May-2024-386331

docker/03-May-2024-8469

sample/03-May-2024-3526

vagrant/freebsd/03-May-2024-10390

MakefileD03-May-20248.4 KiB241179

README.mdD03-May-20242.8 KiB6751

README.md

1# GitHub-CI Status
2| OS       | amd64 | AArch64 | ARM | MIPS |
3|:-------- | :----: | :-----: | :-: | :--: |
4| FreeBSD    | [![Status][freebsd_svg]][freebsd_link] | N/A | N/A | N/A |
5| Linux    | [![Status][linux_svg]][linux_link] | [![Status][linux_aarch64_svg]][linux_aarch64_link] | [![Status][linux_arm_svg]][linux_arm_link] | [![Status][linux_mips_svg]][linux_mips_link] |
6| MacOS    | [![Status][macos_svg]][macos_link] | N/A | N/A | N/A |
7| Windows  | [![Status][windows_svg]][windows_link] | N/A | N/A | N/A |
8
9[freebsd_svg]: https://github.com/google/cpu_features/actions/workflows/amd64_freebsd.yml/badge.svg?branch=main
10[freebsd_link]: https://github.com/google/cpu_features/actions/workflows/amd64_freebsd.yml
11
12[linux_svg]: https://github.com/google/cpu_features/actions/workflows/amd64_linux.yml/badge.svg?branch=main
13[linux_link]: https://github.com/google/cpu_features/actions/workflows/amd64_linux.yml
14[linux_aarch64_svg]: https://github.com/google/cpu_features/actions/workflows/aarch64_linux.yml/badge.svg?branch=main
15[linux_aarch64_link]: https://github.com/google/cpu_features/actions/workflows/aarch64_linux.yml
16[linux_arm_svg]: https://github.com/google/cpu_features/actions/workflows/arm_linux.yml/badge.svg?branch=main
17[linux_arm_link]: https://github.com/google/cpu_features/actions/workflows/arm_linux.yml
18[linux_mips_svg]: https://github.com/google/cpu_features/actions/workflows/mips_linux.yml/badge.svg?branch=main
19[linux_mips_link]: https://github.com/google/cpu_features/actions/workflows/mips_linux.yml
20
21[macos_svg]: https://github.com/google/cpu_features/actions/workflows/amd64_macos.yml/badge.svg?branch=main
22[macos_link]: https://github.com/google/cpu_features/actions/workflows/amd64_macos.yml
23
24[windows_svg]: https://github.com/google/cpu_features/actions/workflows/amd64_windows.yml/badge.svg?branch=main
25[windows_link]: https://github.com/google/cpu_features/actions/workflows/amd64_windows.yml
26
27## Makefile/Docker testing
28To test the build on various distro, we are using docker containers and a Makefile for orchestration.
29
30pros:
31* You are independent of third party CI runner config
32  (e.g. [github action virtual-environnments](https://github.com/actions/virtual-environments)).
33* You can run it locally on your linux system.
34* Most CI provide runners with docker and Makefile installed.
35
36cons:
37* Only GNU/Linux distro supported.
38
39### Usage
40To get the help simply type:
41```sh
42make
43```
44
45note: you can also use from top directory
46```sh
47make --directory=ci
48```
49
50### Example
51For example to test mips32 inside an container:
52```sh
53make mips32_test
54```
55
56### Docker layers
57Dockerfile is splitted in several stages.
58
59![docker](doc/docker.svg)
60
61
62## Makefile/Vagrant testing
63To test build for FreeBSD we are using Vagrant and VirtualBox box.
64
65This is similar to the docker stuff but use `vagrant` as `docker` cli and
66VirtuaBox to replace the docker engine daemon.
67