#!/bin/bash set -ue . functions.sh cd "$(cd "${0%/*}" && pwd -P)" IFS=' ' read -ra versions <<<"$(get_versions . "$@")" if [ ${#versions[@]} -eq 0 ]; then fatal "No valid versions found!" fi # Global variables # Get architecure and use this as target architecture for docker image # See details in function.sh # TODO: Should be able to specify target architecture manually arch=$(get_arch) yarnVersion="$(curl -sSL --compressed https://yarnpkg.com/latest-version)" function update_node_version() { local baseuri=$1 shift local version=$1 shift local template=$1 shift local dockerfile=$1 shift local variant if [[ $# -eq 1 ]]; then variant=$1 shift fi fullVersion="$(curl -sSL --compressed "$baseuri" | grep '>.travis.yml } echo '#### DO NOT MODIFY. THIS FILE IS AUTOGENERATED #### ' | cat - travis.yml.template >.travis.yml for version in "${versions[@]}"; do # Skip "docs" and other non-docker directories [ -f "$version/Dockerfile" ] || continue info "Updating version $version..." parentpath=$(dirname "$version") versionnum=$(basename "$version") baseuri=$(get_config "$parentpath" "baseuri") add_stage "$baseuri" "$version" "default" update_node_version "$baseuri" "$versionnum" "$parentpath/Dockerfile.template" "$version/Dockerfile" & # Get supported variants according the target architecture # See details in function.sh IFS=' ' read -ra variants <<<"$(get_variants "$parentpath")" for variant in "${variants[@]}"; do # Skip non-docker directories [ -f "$version/$variant/Dockerfile" ] || continue add_stage "$baseuri" "$version" "$variant" update_node_version "$baseuri" "$versionnum" "$parentpath/Dockerfile-$variant.template" "$version/$variant/Dockerfile" "$variant" & done done wait info "Done!"