diff --git a/.github/workflows/amd64_freebsd_cmake.yml b/.github/workflows/amd64_freebsd_cmake.yml deleted file mode 100644 index 37c95d7..0000000 --- a/.github/workflows/amd64_freebsd_cmake.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: amd64 FreeBSD CMake - -on: - push: - pull_request: - schedule: - # min hours day(month) month day(week) - - cron: '0 0 7,22 * *' - -jobs: - # Only MacOS hosted runner provides virtualisation with vagrant/virtualbox installed. - # see: https://github.com/actions/virtual-environments/tree/main/images/macos - make: - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - - name: vagrant version - run: Vagrant --version - - name: VirtualBox version - run: virtualbox -h - - name: Build - run: cd cmake/ci/vagrant/freebsd && vagrant up diff --git a/README.md b/README.md index 4e66497..5effacc 100644 --- a/README.md +++ b/README.md @@ -7,16 +7,16 @@ instructions) at runtime. [comment]: <> (The following lines are generated by "scripts/generate_badges.d" that you can run online https://run.dlang.io/) -| | Linux | FreeBSD | MacOS | Windows | -| :-- | --: | --: | --: | --: | -| amd64 | [![CMake][i1a0]][l1a0]
[![Bazel][i1a1]][l1a1] | [![CMake][i2a0]][l2a0]
![Bazel][d1] | [![CMake][i3a0]][l3a0]
[![Bazel][i3a1]][l3a1] | [![CMake][i4a0]][l4a0]
![Bazel][d1] | -| AArch64 | [![CMake][i1b0]][l1b0]
[![Bazel][i1b1]][l1b1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | -| ARM | [![CMake][i1c0]][l1c0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | -| MIPS | [![CMake][i1d0]][l1d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | -| POWER | [![CMake][i1e0]][l1e0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | -| RISCV | [![CMake][i1f0]][l1f0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | -| LOONGARCH | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | -| s390x | [![CMake][i1h0]][l1h0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | +| | Linux | MacOS | Windows | +| :-- | --: | --: | --: | +| amd64 | [![CMake][i1a0]][l1a0]
[![Bazel][i1a1]][l1a1] | [![CMake][i2a0]][l2a0]
[![Bazel][i2a1]][l2a1] | [![CMake][i3a0]][l3a0]
![Bazel][d1] | +| AArch64 | [![CMake][i1b0]][l1b0]
[![Bazel][i1b1]][l1b1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | +| ARM | [![CMake][i1c0]][l1c0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | +| MIPS | [![CMake][i1d0]][l1d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | +| POWER | [![CMake][i1e0]][l1e0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | +| RISCV | [![CMake][i1f0]][l1f0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | +| LOONGARCH | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | +| s390x | [![CMake][i1h0]][l1h0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | ![CMake][d0]
![Bazel][d1] | [d0]: https://img.shields.io/badge/n%2Fa-lightgrey?&logo=cmake [d1]: https://img.shields.io/badge/n%2Fa-lightgrey?&logo=data:image/svg%2bxml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNiAuMTZsNS43ODYgNS43ODZMNiAxMS43MzIuMjE0IDUuOTQ2IDYgLjE2MXpNMCA2LjIxNFYxMmw1Ljc4NiA1Ljc4NlYxMkwwIDYuMjE0ek0xOCAuMTZsNS43ODYgNS43ODZMMTggMTEuNzMybC01Ljc4Ni01Ljc4NkwxOCAuMTYxek0yNCA2LjIxNFYxMmwtNS43ODYgNS43ODZWMTJMMjQgNi4yMTR6TTEyIDYuMTZsNS43ODYgNS43ODZMMTIgMTcuNzMybC01Ljc4Ni01Ljc4NkwxMiA2LjE2MXpNMTEuODQgMTguMDU0djUuNzg1bC01Ljc4Ni01Ljc4NXYtNS43ODZsNS43ODUgNS43ODZ6TTEyLjE2IDE4LjA1NGw1Ljc4Ni01Ljc4NnY1Ljc4NmwtNS43ODUgNS43ODV2LTUuNzg1eiIgc3Ryb2tlPSJ0cmFuc3BhcmVudCIgZmlsbD0id2hpdGUiLz48L3N2Zz4= @@ -29,10 +29,9 @@ instructions) at runtime. [i1e0]: https://img.shields.io/github/actions/workflow/status/google/cpu_features/power_linux_cmake.yml?branch=main&event=push&label=&logo=cmake [i1f0]: https://img.shields.io/github/actions/workflow/status/google/cpu_features/riscv_linux_cmake.yml?branch=main&event=push&label=&logo=cmake [i1h0]: https://img.shields.io/github/actions/workflow/status/google/cpu_features/s390x_linux_cmake.yml?branch=main&event=push&label=&logo=cmake -[i2a0]: https://img.shields.io/github/actions/workflow/status/google/cpu_features/amd64_freebsd_cmake.yml?branch=main&event=push&label=&logo=cmake -[i3a0]: https://img.shields.io/github/actions/workflow/status/google/cpu_features/amd64_macos_cmake.yml?branch=main&event=push&label=&logo=cmake -[i3a1]: https://img.shields.io/github/actions/workflow/status/google/cpu_features/amd64_macos_bazel.yml?branch=main&event=push&label=&logo=data:image/svg%2bxml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNiAuMTZsNS43ODYgNS43ODZMNiAxMS43MzIuMjE0IDUuOTQ2IDYgLjE2MXpNMCA2LjIxNFYxMmw1Ljc4NiA1Ljc4NlYxMkwwIDYuMjE0ek0xOCAuMTZsNS43ODYgNS43ODZMMTggMTEuNzMybC01Ljc4Ni01Ljc4NkwxOCAuMTYxek0yNCA2LjIxNFYxMmwtNS43ODYgNS43ODZWMTJMMjQgNi4yMTR6TTEyIDYuMTZsNS43ODYgNS43ODZMMTIgMTcuNzMybC01Ljc4Ni01Ljc4NkwxMiA2LjE2MXpNMTEuODQgMTguMDU0djUuNzg1bC01Ljc4Ni01Ljc4NXYtNS43ODZsNS43ODUgNS43ODZ6TTEyLjE2IDE4LjA1NGw1Ljc4Ni01Ljc4NnY1Ljc4NmwtNS43ODUgNS43ODV2LTUuNzg1eiIgc3Ryb2tlPSJ0cmFuc3BhcmVudCIgZmlsbD0id2hpdGUiLz48L3N2Zz4= -[i4a0]: https://img.shields.io/github/actions/workflow/status/google/cpu_features/amd64_windows_cmake.yml?branch=main&event=push&label=&logo=cmake +[i2a0]: https://img.shields.io/github/actions/workflow/status/google/cpu_features/amd64_macos_cmake.yml?branch=main&event=push&label=&logo=cmake +[i2a1]: https://img.shields.io/github/actions/workflow/status/google/cpu_features/amd64_macos_bazel.yml?branch=main&event=push&label=&logo=data:image/svg%2bxml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNiAuMTZsNS43ODYgNS43ODZMNiAxMS43MzIuMjE0IDUuOTQ2IDYgLjE2MXpNMCA2LjIxNFYxMmw1Ljc4NiA1Ljc4NlYxMkwwIDYuMjE0ek0xOCAuMTZsNS43ODYgNS43ODZMMTggMTEuNzMybC01Ljc4Ni01Ljc4NkwxOCAuMTYxek0yNCA2LjIxNFYxMmwtNS43ODYgNS43ODZWMTJMMjQgNi4yMTR6TTEyIDYuMTZsNS43ODYgNS43ODZMMTIgMTcuNzMybC01Ljc4Ni01Ljc4NkwxMiA2LjE2MXpNMTEuODQgMTguMDU0djUuNzg1bC01Ljc4Ni01Ljc4NXYtNS43ODZsNS43ODUgNS43ODZ6TTEyLjE2IDE4LjA1NGw1Ljc4Ni01Ljc4NnY1Ljc4NmwtNS43ODUgNS43ODV2LTUuNzg1eiIgc3Ryb2tlPSJ0cmFuc3BhcmVudCIgZmlsbD0id2hpdGUiLz48L3N2Zz4= +[i3a0]: https://img.shields.io/github/actions/workflow/status/google/cpu_features/amd64_windows_cmake.yml?branch=main&event=push&label=&logo=cmake [l1a0]: https://github.com/google/cpu_features/actions/workflows/amd64_linux_cmake.yml [l1a1]: https://github.com/google/cpu_features/actions/workflows/amd64_linux_bazel.yml [l1b0]: https://github.com/google/cpu_features/actions/workflows/aarch64_linux_cmake.yml @@ -42,10 +41,9 @@ instructions) at runtime. [l1e0]: https://github.com/google/cpu_features/actions/workflows/power_linux_cmake.yml [l1f0]: https://github.com/google/cpu_features/actions/workflows/riscv_linux_cmake.yml [l1h0]: https://github.com/google/cpu_features/actions/workflows/s390x_linux_cmake.yml -[l2a0]: https://github.com/google/cpu_features/actions/workflows/amd64_freebsd_cmake.yml -[l3a0]: https://github.com/google/cpu_features/actions/workflows/amd64_macos_cmake.yml -[l3a1]: https://github.com/google/cpu_features/actions/workflows/amd64_macos_bazel.yml -[l4a0]: https://github.com/google/cpu_features/actions/workflows/amd64_windows_cmake.yml +[l2a0]: https://github.com/google/cpu_features/actions/workflows/amd64_macos_cmake.yml +[l2a1]: https://github.com/google/cpu_features/actions/workflows/amd64_macos_bazel.yml +[l3a0]: https://github.com/google/cpu_features/actions/workflows/amd64_windows_cmake.yml ## Table of Contents diff --git a/cmake/ci/Makefile b/cmake/ci/Makefile index f655fc3..a6ba3d5 100644 --- a/cmake/ci/Makefile +++ b/cmake/ci/Makefile @@ -66,12 +66,6 @@ help: @echo -e "\t\t${BOLD}test${RESET}" @echo -e "\te.g. 'make aarch64_test'" @echo - @echo -e "\t${BOLD}${RESET}: build the vagrant virtual machine." - @echo -e "\t${BOLD}clean_${RESET}: Remove virtual machine for the specified vm." - @echo - @echo -e "\t${BOLD}${RESET}:" - @echo -e "\t\t${BOLD}freebsd${RESET} (FreeBSD)" - @echo @echo -e "\t${BOLD}clean${RESET}: Remove cache and ALL docker images." @echo @echo -e "\t${BOLD}NOCACHE=1${RESET}: use 'docker build --no-cache' when building container (default use cache)." @@ -218,29 +212,11 @@ install_devel: amd64_install_devel install_build: amd64_install_build install_test: amd64_install_test -############# -## VAGRANT ## -############# -VMS = freebsd - -vms_targets = $(addsuffix _build, $(VMS)) -.PHONY: $(vms_targets) -$(vms_targets): %_build: vagrant/%/Vagrantfile - @cd vagrant/$* && vagrant destroy -f - cd vagrant/$* && vagrant up - -clean_vms_targets = $(addprefix clean_, $(VMS)) -.PHONY: clean_vms $(clean_vms_targets) -clean_vms: $(clean_vms_targets) -$(clean_vms_targets): clean_%: - cd vagrant/$* && vagrant destroy -f - -rm -rf vagrant/$*/.vagrant - ########### ## CLEAN ## ########### .PHONY: clean -clean: clean_amd64 clean_toolchain clean_vms +clean: clean_amd64 clean_toolchain docker container prune -f docker image prune -f -rmdir cache @@ -249,4 +225,3 @@ clean: clean_amd64 clean_toolchain clean_vms distclean: clean -docker container rm -f $$(docker container ls -aq) -docker image rm -f $$(docker image ls -aq) - -vagrant box remove -f generic/freebsd12 diff --git a/cmake/ci/README.md b/cmake/ci/README.md index 0d898d8..7aeaf33 100644 --- a/cmake/ci/README.md +++ b/cmake/ci/README.md @@ -32,9 +32,3 @@ Dockerfile is splitted in several stages. ![docker](doc/docker.svg) - -## 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. diff --git a/cmake/ci/vagrant/freebsd/Vagrantfile b/cmake/ci/vagrant/freebsd/Vagrantfile deleted file mode 100644 index 6234ff6..0000000 --- a/cmake/ci/vagrant/freebsd/Vagrantfile +++ /dev/null @@ -1,107 +0,0 @@ -# -*- mode: ruby -*- -# vi: set ft=ruby : - -# All Vagrant configuration is done below. The "2" in Vagrant.configure -# configures the configuration version (we support older styles for -# backwards compatibility). Please don't change it unless you know what -# you're doing. -Vagrant.configure("2") do |config| - # The most common configuration options are documented and commented below. - # For a complete reference, please see the online documentation at - # https://docs.vagrantup.com. - - # Every Vagrant development environment requires a box. You can search for - # boxes at https://vagrantcloud.com/search. - config.vm.guest = :freebsd - config.vm.box = "generic/freebsd12" - - config.ssh.shell = "sh" - - # Disable automatic box update checking. If you disable this, then - # boxes will only be checked for updates when the user runs - # `vagrant box outdated`. This is not recommended. - # config.vm.box_check_update = false - - # Create a forwarded port mapping which allows access to a specific port - # within the machine from a port on the host machine. In the example below, - # accessing "localhost:8080" will access port 80 on the guest machine. - # NOTE: This will enable public access to the opened port - # config.vm.network "forwarded_port", guest: 80, host: 8080 - - # Create a forwarded port mapping which allows access to a specific port - # within the machine from a port on the host machine and only allow access - # via 127.0.0.1 to disable public access - # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" - - # Create a private network, which allows host-only access to the machine - # using a specific IP. - # config.vm.network "private_network", ip: "192.168.33.10" - - # Create a public network, which generally matched to bridged network. - # Bridged networks make the machine appear as another physical device on - # your network. - # config.vm.network "public_network" - - # Share an additional folder to the guest VM. The first argument is - # the path on the host to the actual folder. The second argument is - # the path on the guest to mount the folder. And the optional third - # argument is a set of non-required options. - #config.vm.synced_folder "../../..", "/home/vagrant/project" - config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", disabled: true - - config.vm.provision "file", source: "../../../../CMakeLists.txt", destination: "$HOME/project/" - config.vm.provision "file", source: "../../../../cmake", destination: "$HOME/project/" - config.vm.provision "file", source: "../../../../include", destination: "$HOME/project/" - config.vm.provision "file", source: "../../../../src", destination: "$HOME/project/" - config.vm.provision "file", source: "../../../../test", destination: "$HOME/project/" - - # Provider-specific configuration so you can fine-tune various - # backing providers for Vagrant. These expose provider-specific options. - # Example for VirtualBox: - # - # config.vm.provider "virtualbox" do |vb| - # # Display the VirtualBox GUI when booting the machine - # vb.gui = true - # - # # Customize the amount of memory on the VM: - # vb.memory = "1024" - # end - # - # View the documentation for the provider you are using for more - # information on available options. - - # Enable provisioning with a shell script. Additional provisioners such as - # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the - # documentation for more information about their specific syntax and use. - # note: clang installed by default - config.vm.provision "env", type: "shell", inline:<<-SHELL - set -x - pkg update -f - pkg install -y git cmake - SHELL - config.vm.provision "devel", type: "shell", inline:<<-SHELL - set -x - cd project - ls - SHELL - config.vm.provision "configure", type: "shell", inline:<<-SHELL - set -x - cd project - cmake -S. -Bbuild -DBUILD_TESTING=ON - SHELL - config.vm.provision "build", type: "shell", inline:<<-SHELL - set -x - cd project - cmake --build build -v - SHELL - config.vm.provision "test", type: "shell", inline:<<-SHELL - set -x - cd project - cmake --build build --target test -v - SHELL - config.vm.provision "test", type: "shell", inline:<<-SHELL - set -x - cd project - cmake --build build --target install -v - SHELL -end diff --git a/scripts/generate_badges.d b/scripts/generate_badges.d index e5037ef..f8cd01e 100755 --- a/scripts/generate_badges.d +++ b/scripts/generate_badges.d @@ -39,7 +39,6 @@ enum Cpu enum Os { Linux, - FreeBSD, MacOS, Windows, }