Skip to content

Meta-issue: deploy the force_latest_compatible_version fix to the most common CI providers #298

@DilumAluthge

Description

@DilumAluthge

As of Julia 1.7, the Pkg.test function now has the optional force_latest_compatible_version keyword argument, which provides the solution to #160.


However, in order to deploy the force_latest_compatible_version fix into production, we need to modify the various continuous integration (CI) platforms to support auto-detection of CompatHelper/Dependabot pull requests. Basically, we need to modify the CI configurations as follows:

If the CI job is a pull request job, and the pull request was made by CompatHelper or Dependabot, then use the following Pkg.test command:

Pkg.test(; force_latest_compatible_version = true)

If the CI job is not a pull request job, or if it is a pull request job but the pull request was not made by CompatHelper or Dependabot, then use the following Pkg.test command:

Pkg.test(; force_latest_compatible_version = false)

Note that the force_latest_compatible_version keyword argument requires at least Julia 1.7. Therefore, for Julia versions prior to Julia 1.7, you should not provide the force_latest_compatible_version keyword argument.


In julia-actions/julia-runtest#20, we implemented the auto-detection as follows. We look at the name of the branch from which the pull request was made, and:

  • If the branch name starts with either compathelper/ or dependabot/julia, we say that the current job is a CompatHelper/Dependabot job.
  • Otherwise, we say that the current job is not a CompatHelper/Dependabot job.

This table tracks our progress:

Row CI provider Notes Status Repository Pull Requests
1 GitHub Actions CI For users that are using the julia-actions/julia-runtest action julia-actions/julia-runtest julia-actions/julia-runtest#20
2 GitHub Actions CI For users that are NOT using the julia-actions/julia-runtest action
3 Travis CI For users that are using the default Travis CI setup for Julia travis-ci/travis-build
4 AppVeyor CI For users that are using JuliaCI/Appveyor.jl JuliaCI/Appveyor.jl
5 Buildkite CI For users that are using the JuliaGPU Buildkite JuliaCI/julia-test-buildkite-plugin
6 GitLab CI
7 Cirrus CI For users that are using ararslan/CirrusCI.jl ararslan/CirrusCI.jl

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions