Skip to content

Coordinating changes in Trixi.jl and TrixiShallowWater.jl #99

@patrickersing

Description

@patrickersing

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions