Add a tool that allows us to quickly update specification URLs to a s… (#9)
Co-authored-by: Liudmila Molkova <limolkova@microsoft.com> Co-authored-by: Johannes Tax <johannes@johannes.tax> Co-authored-by: Christian Neumüller <christian+github@neumueller.me>
This commit is contained in:
parent
3bb601c243
commit
b5bcbccc17
|
|
@ -114,3 +114,11 @@ To quickly fix typos, use
|
|||
```bash
|
||||
make misspell-correction
|
||||
```
|
||||
|
||||
## Updating the referenced specification version
|
||||
|
||||
1. Open the `./internal/tools/update_specification_version.sh` script.
|
||||
2. Modify the `PREVIOUS_SPECIFICATION_VERSION` to be the same value as `LATEST_SPECIFICATION_VERSION`
|
||||
3. Modify `LATEST_SPECIFICATION_VERSION` to the latest specification tag, e.g. `1.21`
|
||||
4. Run the script from the root directory, e.g. `semantic-conventions$ ./internal/tools/update_specification_version.sh`.
|
||||
5. Add all modified files to the change submit and submit a PR.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Example usage:
|
||||
#
|
||||
# ./internal/tools/update_specification_version.sh
|
||||
|
||||
|
||||
# Set this to the version number you want to CHANGE in URLs in the repository.
|
||||
PREVIOUS_SPECIFICATION_VERSION="main"
|
||||
# Set this to the version number you want to KEEP in URLs in the repository.
|
||||
LATEST_SPECIFICATION_VERSION="1.20.0"
|
||||
# The specific pattern we look for when replacing URLs
|
||||
SPECIFICATION_URL_PREFIX="https://github.com/open-telemetry/opentelemetry-specification/tree/"
|
||||
SPECIFICATION_BLOB_URL_PREFIX="https://github.com/open-telemetry/opentelemetry-specification/blob/"
|
||||
|
||||
|
||||
fix_file() {
|
||||
echo Fixing file $1
|
||||
sed -i \
|
||||
-e "s,${SPECIFICATION_URL_PREFIX}${PREVIOUS_SPECIFICATION_VERSION},${SPECIFICATION_URL_PREFIX}${LATEST_SPECIFICATION_VERSION},g" \
|
||||
-e "s,${SPECIFICATION_BLOB_URL_PREFIX}${PREVIOUS_SPECIFICATION_VERSION},${SPECIFICATION_URL_PREFIX}${LATEST_SPECIFICATION_VERSION},g" \
|
||||
"$1"
|
||||
}
|
||||
|
||||
important_files=("specification" "semantic_conventions" "README.md" "supplementary-guidelines")
|
||||
|
||||
# TODO - limit to markdown/yaml files?
|
||||
find "${important_files[@]}" -type f -not -path '*/.*' -print0 | while read -d $'\0' file; do
|
||||
fix_file "$file"
|
||||
done
|
||||
Loading…
Reference in New Issue