Skip to content

Enforce the rule that all pull requests must increase the version number

License

Notifications You must be signed in to change notification settings

bcbi/VersionVigilante.jl

Repository files navigation

VersionVigilante

Build Status Codecov

VersionVigilante enforces the rule that all pull requests must increase the version number in your Julia package's Project.toml file. This helps automate the continuous delivery (CD) process for your package.

A good description of the CD workflow for Julia packages is available here: https://white.ucc.asn.au/2019/09/28/Continuous-Delivery-For-Julia-Packages.html

Basic usage

VersionVigilante.main("https://github.com/MyUsername/MyPackage.jl")
VersionVigilante.main("https://example.com/foo/bar/baz/MyPackage.jl")

Using on GitHub Actions

Add the following workflow to your repo in a workflow file named .github/workflows/VersionVigilante_pull_request.yml:

name: VersionVigilante

on: pull_request

jobs:
  VersionVigilante:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/[email protected]
      - uses: julia-actions/setup-julia@latest
      - name: VersionVigilante.main
        id: versionvigilante_main
        run: |
          julia -e 'using Pkg; Pkg.add("VersionVigilante")'
          julia -e 'using VersionVigilante; VersionVigilante.main("https://github.com/${{ github.repository }}")'
      - name: ✅ Un-Labeller (if success)
        if: (steps.versionvigilante_main.outputs.compare_versions == 'success') && (success() || failure())
        continue-on-error: true
        uses: actions/[email protected]
        with:
          github-token: ${{secrets.GITHUB_TOKEN}}
          script: |
            github.issues.removeLabel({...context.issue, name: 'needs version bump'})
      - name: ❌ Labeller (if failure)
        if: (steps.versionvigilante_main.outputs.compare_versions == 'failure') && (success() || failure())
        continue-on-error: true
        uses: actions/[email protected]
        with:
          github-token: ${{secrets.GITHUB_TOKEN}}
          script: |
            github.issues.addLabels({...context.issue, labels: ['needs version bump']})

Using on Travis CI

Add the following to your .travis.yml file. Make sure to replace MYUSERNAME and MYPACKAGE with the correct values.

jobs:
  include:
    - stage: VersionVigilante
      if: type = pull_request OR branch != master
      julia: "1.2"
      script:
        - set -e
        - julia -e 'using Pkg; Pkg.add("VersionVigilante")'
        - julia -e 'using VersionVigilante; VersionVigilante.main("https://github.com/MYUSERNAME/MYPACKAGE.jl")'
      after_success: true

Using with Bors-NG

If you use Bors on your repository, click here for instructions.

About

Enforce the rule that all pull requests must increase the version number

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages