Update our software dependencies
Slack
Every Sunday a schedules pipeline "send outdated dependency report to slack" is started and the result can be read in the channel #fs-outdated.
Update from backend using Composer
Manually check the version
./scripts/composer outdated -D
Restricts the list of packages to your direct dependencies
The color coding is as such:
green (=): Dependency is in the latest version and is up to date.
yellow (~): Dependency has a new version available that includes backwards compatibility breaks according to semver, so upgrade when you can but it may involve work.
red (!): Dependency has a new version that is semver-compatible and you should upgrade it.
https://getcomposer.org/doc/03-cli.md#outdated
Structure and explanation of version numbers
- 0.x.x is a beta version. Here every change can contain ``Breaking Changes''.
2.3.5
│ │ │
│ │ └───────── Patch (contains mostly bug fixes)
│ └─────────── Minor version (mostly functional extension)
└───────────── Major version (mostly significant change)
Rules
- Don't mix dev dependencies with dependencies in a commit
- ~ instead of ^ to have similar systems between server and dev computer and to avoid big unwanted changes during yarn update
- only run yarn update if there are only outdated packages with explicit version information
- If you don't know what belongs together, then update only one package per commit.
- Major updates are best done in your own MR with changelog entry.
Update
- Change of version number in composer.json
./scripts/composer update PACKAGENAME* --with-dependencies
Update from frontend using yarn
Manually check the version
./scripts/docker-compose run --rm client sh
yarn outdated
Manually check for security vulnerabilities
./scripts/docker-compose run --rm client sh
yarn audit
Update client
- Change the version number in
client/package.json
./scripts/docker-compose run --rm client sh
yarn PACKAGENAME
Update chat
- Change the version number in
chat/package.json
./scripts/docker-compose run --rm chat sh
yarn PACKAGENAME
Update deployer
- Change the version number in
deployer/package.json
./scripts/composer update -d deployer
Tests after every single update
./scripts/lint
for javascript and php