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