I am just starting to use GitHub Actions. When running a github_ci.yml script via GitHub Actions I am getting the following error:
- Run `import Pkg; Pkg.add("BusinessDays")` to install the BusinessDays package.```
However the status list contais the BusinessDays package:
Status `/tmp/jl_V0rWWg/Manifest.toml`
[56f22d72] Artifacts v1.3.0
[4f18b42c] BusinessDays v0.9.12
[9a962f9c] DataAPI v1.4.0
...
One among many tries was:
...
- uses: julia-actions/julia-buildpkg@latest
- uses: julia-actions/julia-runtest@latest
- name: Install dependencies
run: julia -e 'import Pkg; Pkg.add("BusinessDays")'
...
I really don't know which command to use and even where in the script to put it.
Thank you in advance.
Is the repository where you have this issue public? If yes, could you share the link? That would make debugging easier.
Normally, julia-actions/julia-buildpkg@latest should install all the required packages. I don’t know what you have tried exactly, but one possible error could be that your workflow contained something like
- name: Install dependencies
run: julia -e 'import Pkg; Pkg.add("BusinessDays")'
- name: Use BusinesDays
run: julia --project -e 'using BusinessDays'
This won’t work because BusinessDays is installed in the global Julia workspace and not in your project.
It is forked from JuliaFinance/DayCounts.jl with the addition of a few more day count conventions to make them a super set of the ones available in Matlab.
I haven’t solved it yet, but I did manage to pin it down. The issue is not related to CI because I can reproduce it locally with
$ julia --project
(DayCounts) pkg> test
the issue is in “addbasis.jl” since commenting it out makes all the tests pass. On the other hand, running “addbasis.jl” on its own also works:
$ julia --project
julia> include("test/addbasis.jl")
Test Summary: | Pass Total
ActualActualMatlab | 18 18
Test Summary: | Pass Total
NL365 | 11 11
Test Summary: | Pass Total
Bus252 | 18 18
Test Summary: | Pass Total
Thirty360PSA | 14 14
Test Summary: | Pass Total
Thirty360SIA | 15 15
Test Summary: | Pass Total
ThirtyEPlus360 | 9 9
Test Summary: | Pass Total
ActualActualL | 16 16
Test Summary: | Pass Total
Actual365A | 10 10
Test Summary: | Pass Total
ActualActualY | 13 13
Test.DefaultTestSet("ActualActualY", Any[], 13, false)
Indeed it is puzzling since if I comment out @testset"Bus252" that is the only place in the test set where BusinessDays is needed, I still get the same error.
Further, the complete test set file also runs without problems.
julia> include("test/runtests.jl")
Test Summary: | Pass Total
Actual365Fixed | 15 15
Test Summary: | Pass Total
Actual360 | 15 15
Test Summary: | Pass Total
ActualActualISDA | 15 15
Test Summary: | Pass Total
Thirty360 | 24 24
Test Summary: | Pass Total
ThirtyE360 | 24 24
Test Summary: | Pass Total
ThirtyE360ISDA | 48 48
Test Summary: | Pass Total
ActualActualICMA | 6 6
Test Summary: | Pass Total
ActuaActual ISDA Memo | 22 22
Test Summary: | Pass Total
Thirty360Excel | 24 24
Test Summary: | Pass Total
ActualActualExcel | 27 27
Test Summary: | Pass Total
ActualActualMatlab | 18 18
Test Summary: | Pass Total
NL365 | 11 11
Test Summary: | Pass Total
Bus252 | 18 18
Test Summary: | Pass Total
Thirty360PSA | 14 14
Test Summary: | Pass Total
Thirty360SIA | 15 15
Test Summary: | Pass Total
ThirtyEPlus360 | 9 9
Test Summary: | Pass Total
ActualActualL | 16 16
Test Summary: | Pass Total
Actual365A | 10 10
Test Summary: | Pass Total
ActualActualY | 13 13
Test Summary: | Pass Total
Excel basis 0 | 21 21
Test Summary: | Pass Total
Excel basis 1 | 21 21
Test Summary: | Pass Total
Excel basis 2 | 21 21
Test Summary: | Pass Total
Excel basis 3 | 21 21
Test Summary: | Pass Total
Excel basis 4 | 21 21
Test.DefaultTestSet("Excel basis 4", Any[], 21, false, false)
It’s odd; also that people on this forum don’t respond to this topic.
Is your goal to extend the original package? Maybe then it would be better to make a new package and move your code into there. That could solve the issue.
The problem is that, somehow, Project.toml in the - test - directory didn’t include BusinessDays as a dependency, although it was included as a dependency in DayCounts' Project.toml. So after doing the following the problem was solved: