name: 'Run Julia package tests' description: 'Run the tests in a Julia package' author: 'David Anthoff' branding: icon: 'aperture' color: 'gray-dark' inputs: inline: description: 'Value passed to the --inline flag. Options: yes | no. Default value: yes.' default: 'yes' coverage: description: 'Value determining whether to test with coverage or not. Options: true | false. Default value: true.' default: 'true' runs: using: 'composite' steps: # Occasionally, there are rather large delays (> a few hours) # between the time a package is registered in General and # propagated to pkg.julialang.org. We can avoid this by manually # cloning ~/.julia/registries/General/ in Julia 1.5 and later. # See: # * https://github.com/JuliaLang/Pkg.jl/issues/2011 # * https://github.com/JuliaRegistries/General/issues/16777 # * https://github.com/JuliaPackaging/PkgServer.jl/issues/60 - run: julia --color=yes -e 'using Pkg; VERSION >= v"1.5-" && !isdir(joinpath(DEPOT_PATH[1], "registries", "General")) && Pkg.Registry.add("General")' shell: bash env: # We set `JULIA_PKG_SERVER` only for this step to enforce # `Pkg.Registry.add` to use Git. This way, Pkg.jl can send # the request metadata to pkg.julialang.org when installing # packages via `Pkg.test`. JULIA_PKG_SERVER: "" - run: julia --color=yes --check-bounds=yes --inline=${{ inputs.inline }} --project -e 'using Pkg; Pkg.test(coverage=${{ inputs.coverage }})' shell: bash