Open zaya-mc opened 4 years ago
Never used Travis before but I'm OK with it.
Travis CI basically creates a Virtual Machine, according to our Travis File, it clones our repository, downloads all required tools such as compilers, and calls our makefile to run tests. If there is an error, it blocks the pull request in the GitHub. In the GitHub Pull Request Page, you see a window which shows all whether tests pass or not. For all of these, all we need; creating a YAML file. And it handles everything in its servers so there is no need to set up any machine(In Jenkins, we have to set up a machine)
@alifiratari @volkanunal Could you check does Github Action create a virtual machine()? If so, can we choose the OS in VM? If it is only Linux, can we run any Linux command to install required scripts?
For example; in the Travis-CI, It was cloning the repo automatically, but I was installing some tools which were required for tests like below;
- sudo apt-get update
- sudo apt-get install splint
- sudo add-apt-repository -y ppa:terry.guo/gcc-arm-embedded
- sudo apt-get update -qq
- sudo apt-get install gcc-arm-none-eabi --force-yes
Can we do that?
The ideal CI approach should be we should be able to run the same tests in our local and the server(Pull Request).
Herein we need to use the same command to run all tests in both local and remote.
Example;
make check_all
Added blank CI project --> pull request #9
It is posibble. add the commands to end of .github/workflows/blank.yml
- name: Install compiler and splint run: | echo Compiling.. sudo apt-get update sudo apt-get install splint sudo add-apt-repository -y ppa:terry.guo/gcc-arm-embedded sudo apt-get update -qq sudo apt-get install gcc-arm-none-eabi --force-yes
- name: Run makefile run: | echo Compiling.. make check_all
@alifiratari That's awesome. Thanks.
The requirements could be like below 1 - Easy to use 2 - Fully Github Integration (Needs to block the Pull Requests which do not pass all CI tests) 3 - Free
Jenkins is widely used for CI but it is awful so we can use Travis-CI here which is fully integrated with Github and free for Open-Source Projects and widely used by open source projects too.