Updating Hog to a Newer Release#

This guide will help you update Hog to your desired version. It assumes you already have a repository managed with Hog and hosted on GitLab or GitHub.

Preparation#

On your project’s website, create a new branch starting from master and open a merge/pull request for your changes.

Note

If you are already working on a branch in your HDL repository, you can update Hog within that branch. (Alternatively, you can create a new branch locally and open the merge request on the website later.)

Updating the Hog Submodule#

Check out your branch and navigate to the Hog directory. To update Hog to the latest version, run:

cd Hog
git checkout master
git pull

To verify the version you have checked out, use:

git describe

You should see something like HogYYYY.n (e.g., Hog2020.1) or vX.Y.Z (e.g., v1.2.3).

If you want to update to a specific version, visit the Hog releases page, choose your desired version (e.g., v1.2.3), and run:

cd Hog
git checkout v1.2.3

Updating the GitLab CI Configuration#

If your project uses GitLab CI, you need to update your .gitlab-ci.yml file to reference the new Hog version. If you are not using GitLab CI, you can skip this step.

Go back to your repository root and edit .gitlab-ci.yml with your preferred editor:

cd ..
vim .gitlab-ci.yml

At the beginning of the file, in the include section, you will see a reference similar to:

include:
  - project: 'hog/Hog'
    file: '/hog.yml'
    ref: 'vA.B.C'

Update the ref field to match the new version you have checked out:

include:
  - project: 'hog/Hog'
    file: '/hog.yml'
    ref: 'vX.Y.Z'

If you are using the dynamic CI, the include section will look like:

include:
  - project: 'hog/Hog'
    file: '/hog-dynamic.yml'
    ref: 'vX.Y.Z'

Save and close the file.

Finalizing the Update#

Add the updated files (Hog submodule and .gitlab-ci.yml), commit, and push your changes:

git add .gitlab-ci.yml Hog
git commit -m "Update Hog to vX.Y.Z"
git push

Finally, go to your project’s GitLab/GitHub website, open a merge request for your branch (if you haven’t already), and merge it once the CI passes.