During the development, it is sometimes necessary to coordinate changes in Trixi.jl and TrixiShallowWater.jl at the same time. This can happen when features require modifications in both packages or breaking changes in Trixi.jl affect TrixiShallowWater.jl. This typically means we need to coordinate the development in two separate PRs across both packages. In these instances the CI tests may not work since they use the release version of Trixi.jl.
The current work around for this is to make temporary changes to the ci.yml, Documenter.yml, and Project.toml to develop the Trixi.jl version from a specific branch. This requires to remove the compat bounds on Trixi.jl in the Project.toml and then add the following step to the ci.yml and Documenter.yml:
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- run: julia -e 'using InteractiveUtils; versioninfo(verbose=true)'
- uses: julia-actions/cache@v2
- uses: julia-actions/julia-buildpkg@v1
# Workaround to test against specific PR (needs to be removed before merging)
- name: Checkout Trixi version from PR
uses: actions/checkout@v4
with:
repository: repo_name
ref: branch_name
path: Trixi-PR
- name: Load Trixi version from PR
shell: julia --color=yes --project=@. {0}
run: |
using Pkg
Pkg.develop(PackageSpec(path="Trixi-PR"))
Pkg.update()
# end of workaround
These changes are only done temporarily and must be reverted before merging. For an example of this workflow see #96.
During the development, it is sometimes necessary to coordinate changes in
Trixi.jlandTrixiShallowWater.jlat the same time. This can happen when features require modifications in both packages or breaking changes in Trixi.jl affect TrixiShallowWater.jl. This typically means we need to coordinate the development in two separate PRs across both packages. In these instances the CI tests may not work since they use the release version of Trixi.jl.The current work around for this is to make temporary changes to the
ci.yml,Documenter.yml, andProject.tomlto develop the Trixi.jl version from a specific branch. This requires to remove the compat bounds on Trixi.jl in theProject.tomland then add the following step to theci.ymlandDocumenter.yml:These changes are only done temporarily and must be reverted before merging. For an example of this workflow see #96.