blob: a137af03545dd61c0b8dd22f5c0e0a67454915b8 [file] [log] [blame]
#!/usr/bin/env bash
#
# Copyright (c) 2023 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Usage:
# ./scripts/helpers/roll_docker_version.sh -v=X --reason="INSERT_REASON_HERE"
#
CURRENT_VERSION=$(sed 's/ .*//' ./integrations/docker/images/base/chip-build/version)
NEXT_VERSION=$((CURRENT_VERSION + 1))
ROLL_REASON=""
ALL_ARGS=""
for i in "$@"; do
case $i in
-v=* | --version=*)
NEXT_VERSION="${i#*=}"
;;
-r=* | --reason=*)
ROLL_REASON="${i#*=}"
;;
*)
ALL_ARGS="$ALL_ARGS ${i#*=}"
;;
esac
done
if [[ ! $ROLL_REASON ]]; then
echo 'Roll reason required, please add --reason="Why I am rolling"'
exit -1
fi
echo "Current version: $CURRENT_VERSION"
echo "Next version: $NEXT_VERSION"
echo "Reason: $ROLL_REASON"
echo ""
echo "Rolling workflows"
sed -r -i "s|image: ghcr\.io/project-chip/(.*):[0-9,a-z,A-Z,-]*(\..*)?|image: ghcr.io/project-chip/\1:$NEXT_VERSION|" .github/workflows/*.yaml
sed -r -i "s|image: ghcr\.io/project-chip/(.*):[0-9,a-z,A-Z,-]*(\..*)?|image: ghcr.io/project-chip/\1:$NEXT_VERSION|" .github/workflows/*.yml
echo "Rolling VSCode container"
sed -r -i "s|matter-dev-environment:local --version [0-9,a-z,A-Z,-]*|matter-dev-environment:local --version $NEXT_VERSION|" .devcontainer/devcontainer.json
echo "Rolling docker images"
find . -iname Dockerfile -not -path "./third_party/*" | xargs sed -r -i "s|ARG VERSION=[0-9,a-z,A-Z,-]*|ARG VERSION=$NEXT_VERSION|"
echo "Rolling main docker version"
echo "$NEXT_VERSION : $ROLL_REASON" >./integrations/docker/images/base/chip-build/version
echo "Rolling README.md files"
find . -iname readme.md -not -path "./third_party/*" | xargs sed -r -i "s|ghcr\.io/project-chip/(.*):[0-9,a-z,A-Z,-]*(\..*)?|ghcr.io/project-chip/\1:$NEXT_VERSION|"
echo ""
echo "Done"