slug: julia-travis datepublished: 2018-09-13T22:00:07 dateupdated: 2018-09-18T01:50:46 tags: JuliaLang excerpt: "Travis-CI provides free build check for public project, it's perfect for individual to put a little nice build badge on README.md inside the repository." –-
Travis-CI provides free build check for public project, it's perfect for individual to put a little nice build badge on README.md inside the repository. It also has a paid plan for larger collaboration that needs to run build check for every pull requests and different branches where they will run several builds in parallel. (Also this is because larger project such as Julialang itself, can also take more than 4 hours to even build once).
But smaller, personal projects usually take less than an hour to build thus takes no cost.
A very basic Julia package should have the following structure:
. ├── LICENSE ├── Manifest.toml ├── Project.toml ├── README.md ├── REQUIRE ├── src │ └── scryfall.jl └── test └── runtests.jl
Source code in
src directory should have something structure as:
module <pkg_name> using <dependent_pkg> export foo function foo #do something end end #end of module
Project.toml should be auto generated by
(v1.0) Pkg> generate <pakcage_name>
cd into the directory, and then issue
(v1.0) Pkg> activate .
to activate the package. After this, anything you add as a dependent with
add <pkg_name> will be automatically updated into
Once you'be done making the package, it's time to deploy Travis-CI, for the purpose
julia, you will need a
.travis.toml file in the base directory of github repo that looks like this:
language: julia os: - linux julia: - nightly - 1.0
Then, in order for Travis-CI to catch tests, you will want a test folder with a
runtest.jl inside, where Travis-CI will examine the results after building your packages. (Don't forget to include
Test as a julia dependent in
Project.toml). In the
runtests.jl , you will want to issue
using <your_package> and
using Test then use
@test macro to test some true-false statement, if all goes well, you Travis-CI will spit out a success result.