Automatically update the [compat] entries for your Julia package's dependencies
129 Stars
Updated Last
7 Months Ago
Started In
November 2019


CompatHelper.jl is a Julia package which keeps your Project.toml [compat] entries up to date.

Category Status
Unit Tests Continuous Integration (Unit Tests)
Integration Tests Continuous Integration (Integration Tests)
Documentation Documentation
Code Coverage Code Coverage
Style Guide Style Guide



Create a file at .github/workflows/CompatHelper.yml with the contents of the CompatHelper.yml that is included in this repository.

If you need to use any special arguments for the main function, you can modify this file to add them.


For GitLab you will want to add CompatHelper as a job in your .gitlab-ci.yml file such as:

  image: julia:1.6 # Set to the Julia version you want to use
  stage: compat # You can place this in any stage that makes sense for your setup
    - apt-get update -qq && apt-get install -y git
    - |
      julia --color=yes -e "
        import Pkg;
        ENV[\"JULIA_PKG_SERVER\"] = \"\";
    - |
      julia --color=yes -e "
        import Pkg;
        name = \"CompatHelper\";
        uuid = \"aa819f21-2bde-4658-8897-bab36330d9b7\";
        version = \"3\";
        Pkg.add(; name, uuid, version)"
    - |
      julia --color=yes -e "
        import CompatHelper;

Similarly to the GitHub setup, you can modify the main call here if you need to change any of the default arguments. You must also remember to add the GITLAB_TOKEN and COMPATHELPER_PRIV CI secrets to the project so that CompatHelper can find them.

Environment Variables

GitHub & GitLab

Name Description
GIT_COMMITTER_NAME Name to associate commits with [Default: CompatHelper Julia]
GIT_COMMITTER_EMAIL Email to associate commits with [Default:]
COMPATHELPER_PRIV Plain Text or Base64 Encoded SSH Public Key for git pushes and API calls


Name Description
GITHUB_TOKEN GitHub Access Token, user for GitHub API Requests, provided by default on GitHub Actions
GITHUB_REPOSITORY Name on GitHub of the organization/repo, provided by default on GitHub
GITHUB_ACTOR GitHub Username that triggered the Action, provided by default by GitHub Actions. This is used to CC the user on the pull request if enabled


Name Description
GITLAB_TOKEN GitLab Access Token, used for GitLab API Requests
CI_PROJECT_PATH Name on GitLab of the organization/repo, provided by default on GitLab
GITLAB_USER_LOGIN GitLab Username that triggered the Pipeline, provided by defalt by GitLab CI. This is used to CC the user on pull request if enabled

Used By Packages