This release policy ensures that developers know what to expect when they use Arizona Bootstrap on their websites. Arizona Bootstrap has adopted semantic versioning to allow site maintainers to keep websites up to date with security updates and other critical improvements without having to track the ongoing feature development of Arizona Bootstrap.
Arizona Digital development proceeds in the main
branch of the
GitHub repository applying
bug fixes and adding new features. Although the repository contains other
branches, these are not intended for use elsewhere. Releases correspond to a Git
tag in the repository, and fully built CSS and JavaScript files in a CDN, where
they are available for immediate use or downloading. The CDN contains versions
of the assets from all releases, all prefixed by
https://cdn.digital.arizona.edu/lib/arizona-bootstrap/
releasenumber
(ensuring that anything using a particular release from the CDN does not receive
unexpected changes). A
documentation site tracks the
latest release of Arizona Bootstrap, but not previous versions. Security issues
and major bug fixes rarely affect the built assets for a particular release, so
there is no organized backporting workflow. The developer tooling used to build
those assets does receive frequent updates, but those initially modify only the
main
branch in the repository. Development tools are derived from those that
Bootstrap uses, mainly based on NodeJS and the Hugo static site builder for
generating the documentation, and developers can use those in their own local
environments. Continuous Integration (CI) software can use the same tools, but
also make changes to the main Git repository and CDN; GitHub actions are the
primary CI mechanism, with a configuration that is specific to Arizona
Bootstrap.
Arizona Bootstrap is a customized version of
Bootstrap, tracking the v4-dev
branch that by
2022 is only seeing minor maintenance, not active development. However the
automated update and security monitoring on GitHub (dependabot) covers
development tools in Arizona Bootstrap, suggesting changes that generally
correspond to the current development version of Bootstrap. Arizona Bootstrap
releases are not synchronizied with upstream Bootstrap releases (and are
generally more frequent).
The University of Arizona Drupal distribution, AZ Quickstart, cannot work without Arizona Bootstrap (and has been the most significant influence in determining the features it provides). When an addition to AZ Quickstart requires a new Arizona Bootstrap feature, that will generally prompt a new Arizona Bootstrap release. Automation on GitHub generates a pull request in the AZ Quickstart repository as part of an Arizona Bootstrap release (proposing a bump to the version number AZ Quickstart references), but still requires manual approval and merging for this.
Patch releases will be released as necessary and limited to:
- Arizona Bootstrap build artifacts
- Bug fixes
- Accessibility improvements
- Performance improvements
- Security improvements
- Code changes to satisfy automated linting checks
- Documentation clarifications
- Critical institutional link changes
- Critical brand changes
- Development dependencies
- Version number bumps that dependabot suggests
- Changes matching minor upstream Bootstrap maintenance
- Minor improvements to local development and CI environments
The following types of changes are allowed for minor releases in addition to those allowed for patch releases.
- Arizona Bootstrap build artifacts
- New features
- Changes to behavior that existing sites might rely on
- Changes that risk regressions
- Non-critical institutional link changes
- Non-critical brand changes
- Risky or disruptive cleanups to comply with coding standards
- Tracking significant upstream Bootstrap updates
- Development dependencies
- Significant refactoring of the build environment
- Major changes to CI configuration (such as GitHub actions)
Incompatible changes to the CSS and JavaScript (for example, moving to Bootstrap v5).
An Arizona Digital developer with appropriate access rights in the main Arizona
Bootstrap repository triggers a release by manually running the Create Release
GitHub Action (currently at
https://github.com/az-digital/arizona-bootstrap/actions/workflows/release.yml
)
omitting the “v” prefix when specifying the version number, and can generate the
text to insert in the release notes with a command-line Git command of the form
git log v5.2.15..HEAD --pretty='format:- %s'
Same as a patch release, but you must switch to the 2.x
branch when running the
action.
Same as a patch release, except you must change the minor verson number folder at:
/site/content/docs/5.x
/site/static/docs/5.x
Once the folder name has been changed, update the version_short
config within package.json prior to making the release.