Snake CI Release Notes

This page documents all changes made from release to release.

We often write blog posts for major & minor releases, make sure to check it out too: Snake CI Blog.

0.8.4

Improvements:

  • New option in settings added: Ā«Use HTTP(S) instead of SSH for cloning repositoriesĀ». Snake Runner will use http (or https if available) protocol for fetching Git repositories using special secret access tokens issued by the add-on.

    This feature requires upgrading your Snake Runner instances to version 0.8.4.

    Changelog: Snake Runner Release Notes

0.8.3

Bugfixes:

  • Pipelines from forks were not properly attached to pull requests.

0.8.2

We’ve submitted the DataCenter approved version by Atlassian team to Marketplace.

No technical changes.

0.8.1

Technical release related to Data Center reviewal process.

  • Disable synchronous hooks for Data Center by default due to additional git processes spawned during snake-ci.yaml validation;
  • Move Snake CI/CD section lower in Repository/Project Settings.
  • Remove prefix Add-on: from the admin menu.

0.8.0

  • New environment variables:

    • CI_FROM_COMMIT_HASH
      The unique hash of a previous commit that triggered the pipeline.
    • CI_FROM_COMMIT_SHORT_HASH
      The short representation of CI_FROM_COMMIT_HASH
    • CI_PULL_REQUEST_ID
      The ID of the pull request triggered the pipeline (scope to the repository).
    • CI_PULL_REQUEST_TITLE
      The title of the pull request.
    • CI_PULL_REQUEST_STATE
      The state of the pull request.
    • CI_PULL_REQUEST_TO_REF
      The target ref of the pull request (base branch).
    • CI_PULL_REQUEST_TO_HASH
      The target ref’s commit of the pull request.
    • CI_PULL_REQUEST_TO_FORK
      Whether the target repository is fork. Value: true or false.
    • CI_PULL_REQUEST_FROM_REF
      The source ref of the pull request (to be merged).
    • CI_PULL_REQUEST_FROM_HASH
      The source ref’s commit of the pull request.
    • CI_PULL_REQUEST_FROM_FORK
      Whether the source repository is fork. Value: true or false.
    • CI_PULL_REQUEST_CROSS_REPO
      Whether the merge is cross-repository. Value: true or false.

    See other environment variables here.

  • Disable Pipelines for Forks

    Snake CI features for forked repositories now can be disabled globally, on the project or the repository levels.

    fork-pipelines

    Learn more about available settings here.

0.7.0

  • Pipeline & Jobs counters are rendered server-side now too;

  • Moved Snake CI menu items below in the admin menu (a hard requirement by Atlassian);

  • Two new clean up strategies:

    • delete pipelines, jobs, and jobs logs if repository deleted;
    • regularly clean up old pipelines, jobs, and jobs logs if they are older than the specified number of days (default value is 60 days);
  • Allow admins to switch mode of Snake CI post-receive hook from synchronous into asynchronous. NOTE: asynchronous mode means that users will not receive the link on the pipeline created by given changeset during git push.

  • Data Center only: automatic refresh of counters is disabled by default now, but it can be enabled in the admin panel;

0.6.0

Features:

  • Run Templates

    A feature that allows users to define their own templates with a set of environment variables for New Pipeline buttons available on Pipeline List & Pull Request pages.

  • Masked & Secret environment variables

    A few new attributes on environment variables, we make our best to help you to hide your secrets in jobs logs.

  • The GO TO LAST LINE button. Users now can press the follow logs button on the bottom of the Pipeline page and follow jobs logs as they appear in real time.

Bugfixes:

  • Multiple environment variables could have the same name.

0.5.2

Bugfixes:

  • Fix an exception when using an empty YAML file as the pipeline definition.

Improvements:

  • Do not request Pipelines & Jobs counters on the Project Settings page
  • Do not request Pipelines & Jobs counters on the projects pages with no repositories and on the repositories pages without Pipelines.
  • Limit size of commit messages shown on the Pipeline page to 1MB (too long messages are truncated).

0.5.1

Bugfixes:

  • Fix matching regular expressions in the only:variables section.

0.5.0

Features:

  • Add the current stage and the status of jobs to the pipelines list; Screenshot.

  • Add the Run Pipeline button on Pull Request page.

    The button consists of two parts:

    • The left part immediately triggers a new pipeline on the current branch;

    • The right part opens a dialog where the branch is already set and you can specify additional environment variables; Screenshot.

Improvements:

  • Removing an online runner will gracefully terminate its pipelines and shut down the runner;
  • A runner’s name doesn’t need to be unique anymore;
  • Improved support for Bitbucket 5+
    • Fix: an error while deleting an environment variable;
    • Fix: some icons were missing on old versions of Bitbucket
    • Cosmetic changes due to different versions of the Atlassian UI framework.
  • Improved consistency with Atlassian Design Guidelines: in progress statuses are blue now, only success status is green

Bugfixes:

  • Fix: an error while retrying a pipeline in the Pipelines tab on the Pull Requests page;
  • Fix: clicking on the Back button on the Pull Requests page did not work properly in some scenarios;
  • Fix: an error while cancelling a pending pipeline due to an unavailable runner;
  • Fix: pipelines triggered by a Merge Commit were not automatically linked to related Pull Requests;
  • Fix: an error while cancelling a running pipeline created by the Retry button.

0.4.0

Features:

  • Conditional Jobs: Regular expression match

    Now a branch, a tag, or a variable name in the only section may be a regular expression. The regular expression must be specified using / symbol surrounding it.

  • Seamless submodules support

    With the new release, it’s possible to use submodules and clone other repositories from your Bitbucket instance without managing SSH keys manually.

  • Additional support for Bitbucket 7 which brings back the Pipelines tab in single Pull Request view.

Bugfixes:

  • Fix: overriding variable value by specifying variable with the same name on different scope did not work.
  • Fix: invalid listing order of runners in Admin panel; now online runners always be listed first.
  • Fix: typos and other minor problems in the UI

Consider updating the runner to the latest version (0.4.0) to get the most out of the new add-on release.

0.3.0

Features:

  • Conditional Jobs: Variables

    New parameter variables in only section added. The CI evaluates that at least one variable from the given list is specified before creating the job. The variables can be specified in Environment Variables or specified by a user in the New Pipeline dialog.

  • User-specified environment variables in New Pipeline dialog.

    Now users can specify a list of key-value variables that will be used during Pipeline evaluation and execution.

    example

Bugfixes:

  • MySQL support improved
  • Hooks installation fixes
  • Retry of a pipeline with a broken config now produces correct status.
  • Performance improvements related to enabling hooks during Bitbucket start

0.2.1

Bugfixes:

  • Fix: UI did not display properly on the Bitbucket instances under non-root context path (e.g. https://mycompany.local/bitbucket/).

0.2.0

Features:

  • Conditional Jobs

    The feature allows specifying a list of branches or tags that are allowed to execute a given job.

  • Merge Check Hook

    The hook introduces restrictions on merging Pull Requests. The hook ensures that the latest pipeline of the pull-request has the COMPLETED status, otherwise, it doesn’t allow merging the PR.

    example

  • New action: New pipeline.

    The button can be found on the page with the list of pipelines. Pressing the button opens the modal window where you can choose a branch or a tag and trigger pipeline on the specified Git reference.

    example

Bugfixes:

  • Fix: show only header line of multi-line commit messages;
  • Fix: pipelines caused by merge commits didn’t bind properly to pull requests;
  • Fix: properly redirect after pressing retry button from pipeline details page;
  • Fix: pipelines caused by pull request update didn’t bind properly to a pull request in some cases because of the asynchronous nature of events.

0.1.5

Features:

  • New action: retry pipeline

    The button can be found on pipeline details page or in the list of pipelines on the right side.

    Pressing this button causes restart of the current pipeline with the new pipeline id.

    • On the pipeline page:

      retry in details

    • On the list of pipelines page:

      retry in list

0.1.4

Bugfixes:

  • Duplicated counters in the sidebar menu
  • Job status was not correctly updated if a parallel job failed

Improvements:

  • Support for Oracle
  • Data Center compatibility
  • Improve performance of binding Pipelines to Pull Requests

0.1.3

Support for Bitbucket 5.x

0.1.2

Public release.

0.1.1

Initial version.


Last modified September 17, 2020