ℹ️ this log lists user most visible changes
⚠️ to find all changes use changelog.txt file in a directory
ℹ️ Legend: 🛡️ - security; 🔧 - fixed; 🆕 - new; 📝 - changed; 🔀 - refactor
- 🔧 fixed: bash/github/init-github-workflow.sh:
gh_eval_github_env_file
function rewrite to ignore value last line return
- 🔧 fixed: bash:
tkl_include*
correct nest level value - 🆕 new: bash: Added usage of
tkl_register_call
/tkl_execute_calls
and implemented postponed gh-workflow initialization, when the firstinit_*
function calls only after the lastinit-*.sh
script is included. This shall avoid recursed initialization execution ininit-*.sh
scripts, when one script is loaded, but another one is not yet. - 📝 changed: _externals/tacklelib/bash/tacklelib: merge with the latest changes
- 🔧 fixed: bash/github/init-basic-workflow.sh: completely removed
GITHUB_ENV
variables conditional load feature, because must always be loaded unconditionally, otherwise variables may be lost on the next shell line of the same GitHub Action step
- 🆕 new: bash/github/enable-print-buffering.sh: added script to explicitly enable print buffering
- 🆕 new: bash/github/utils.sh:
gh_unset_github_env_var
,gh_push*_var_to_stack
,gh_pop_var_from_stack
to be able to use variables stack between GitHub Action steps - 📝 changed: bash/github/utils.sh:
gh_set_env_var
now does export a variable instead of declare becauseGITHUB_ENV
variables does export too - 🔀 refactor: bash/github/utils.sh:
gh_update_github_env_var
renamed togh_set_github_env_var
- 🔧 fixed: bash/github/init-print-workflow.sh: annotations print duplication
- 🔧 fixed: bash: UTC timezone for URLs in
GHWF_REPO_STORE_COMMITS_URL
/GHWF_REPO_STATS_COMMITS_URL
variables
- 🔧 fixed: bash/github/print-*.sh: unchanged or empty changelog file
- 🔧 fixed: bash/github/accum-rate-limits.sh: json format update
- 🆕 new: bash: use
ENABLE_REPO_STORE_COMMITS_URL_PRINT_TO_CHANGELOG
/ENABLE_REPO_STATS_COMMITS_URL_PRINT_TO_CHANGELOG
andGHWF_REPO_STORE_COMMITS_URL
/GHWF_REPO_STATS_COMMITS_URL
variables to printContent Store Repository
/Statistic Output Repository
commit URL into being committed changelog file
- 🔧 fixed: bash/github/accum-stats.sh: avoid update if nothing changed including 14d
count
anduniques
decrement by the last day
- 🔧 fixed: bash/github/accum-stats.sh: 14d
count
anduniques
decrement by the last day
- 🆕 new: bash/github/is-flag-true-in-flags-expr-string.sh: added
gh_is_flag_true_in_flags_expr_string
function to evaluate flag expression strings
- 🔧 fixed: bash/github/print-*.sh: multiline annotations print
- 🆕 new: bash/_common: added
update-permissions.sh
script to update file permissions byfind
pattern all together (ex:update-permissions.sh ug+x "$GH_WORKFLOW_ROOT" -iname '*.sh'
) - 🆕 new: bash: print GitHub Actions workflow run number in case of print workflow run URL (
ENABLE_GITHUB_ACTIONS_RUN_URL_PRINT_TO_CHANGELOG=1
) - 📝 changed: bash/cache/accum-content.sh: export specific
GH_WORKFLOW_FLAGS
environment variable into nested bash contexts
- 🆕 new: bash/cache/accum-content.sh: added
entries[0]/init/shell
andentries[0]/init/run
config content file fields to run entries initialization script - 🆕 new: bash/github/init-xq-workflow.sh: added
XQ_CMDLINE_READ
andXMLSTARLET_CMDLINE_SEL
variable to be able to use different xml query implementations
- 🆕 new: bash/cache/accum-content.sh: added
download-validate/shell
anddownload-validate/run
config content file fields to run a file download validation script - 🆕 new: bash/github: added
init-xq-workflow.sh
script to intialize workflow for thexq
utility
- 🆕 new: bash: use
ENABLE_GITHUB_ACTIONS_RUN_URL_PRINT_TO_CHANGELOG
andGHWF_GITHUB_ACTIONS_RUN_URL
variables to print GitHub Actions run URL into the changelog file
- 🆕 new: bash/github: added
eval-from-args.sh
with--eval_github_env
flag to evaluate set of commands and additionally does evaluateGITHUB_ENV
file before the execution
- 🆕 new: bash/cache/accum-content.sh: added
NO_DOWNLOAD_ENTRIES
andNO_DOWNLOAD_ENTRIES_AND_CREATE_EMPTY_INSTEAD
variables to be able to debug locally without download - 📝 changed: bash: board/accum-stats.sh, cache/accum-content.sh, inpage/accum-downloads.sh: print-*.sh: always print stderr unconditionally to a return code
- 📝 changed: bash/github/print-*.sh:
GHWF_PRINT_ERROR_BUF_STR
variable assign bygh_set_env_var
to be able to debug usingGITHUB_ENV
file locally
- 🆕 new: bash/cache/accum-content.sh: added prev/next file size print
- 🆕 new: bash/cache: init-print-workflow.sh, accum-content.sh: enabled changed file notice messages groupping into a single annotation to fit the GitHub Actions summary maximum limit as 10 annotations (restored, because the message truncation actually was a message shrink into a single line, after expand it does restore back into multiline string)
- 🔧 fixed: bash/github: utils.sh, set-env-from-args.sh: missed to ignore
GITHUB_*
builtin variables, execution fixup - 🆕 new: bash/github: init-basic-workflow.sh, enable-github-env-autoeval.sh: Ability to apply GitHub Actions job environment variables by the
GITHUB_ENV
file path automatically on each GitHub Actions job step line instead of on the next step only. A workflow does require to enable this explicitly using theenable-github-env-autoeval.sh
script run. - 📝 changed: bash/github: utils.sh, set-env-from-args.sh: added global bash variables assign additionally to
GITHUB_ENV
file update to apply variables assign immediately for the same GitHub Actions job step line - 🔀 refactor: bash/github:
GH_*
global environment variables renamed intoGHWF_*
, added prefix to the rest
- 🔧 fixed: bash/github/print-*.sh: execution fixup
- 🆕 new: bash/github: init-print-workflow.sh, print-*.sh, *-print-annotation-group.sh: ability to group sequence of prints with the same annotation type into single annotation to prevent too many annotations because of the limit in the GitHub Actions job summary (currently is 10)
- 🆕 new: bash/github/accum-rate-limits.sh: added usage of a print annotation group
- 🔧 fixed: bash/github/print-*.sh: execution fixup
- 🆕 new: bash/github: init-print-workflow.sh, print-*.sh, flush-print-annotation.shs: print annotations buffering support
- 🆕 new: bash/github: init-basic-workflow.sh, print-*.sh:
CHANGELOG_BUF_STR
update between GitHub pipeline steps
- 🔧 fixed: bash/github/print-*.sh: notices, warnings, errors functions fixup
- 🔧 fixed: bash/github/accum-rate-limits.sh: json format change fixup
- 📝 changed: bash/github/accum-rate-limits.sh: changed rate limits json format change message from an error to a warning
- 🆕 new: bash/github/init-yq-workflow.sh: added
ENABLE_YAML_DIFF_PRINT_BEFORE_PATCH
,ENABLE_YAML_PRINT_AFTER_PATCH
variables to print diff/yaml file before patch instead of after edit (has priority overENABLE_YAML_DIFF_PRINT_AFTER_EDIT
,ENABLE_YAML_PRINT_AFTER_EDIT
variables)
- 🔧 fixed: bash/github/init-yq-workflow.sh:
yq_restore_edited_uniform_diff
inaccurate blank lines position
- 🆕 new: bash/github: added
init-diff-workflow.sh
to supportdiff
command workflow - 🆕 new: bash/github/init-yq-workflow.sh:
yq_restore_edited_uniform_diff
function to restore yaml comments and blank lines - 📝 changed: bash/cache/accum-content.sh: use
yq_restore_edited_uniform_diff
function by default
- 🆕 new: bash/github/accum-stats.sh: added
STATS_REMOVED_DATES
return variable, print last removed dates additionally to the last changed dates - 🆕 new: bash/github/accum-stats.sh:
ENABLE_COMMIT_MESSAGE_DATE_TIME_WITH_LAST_CHANGED_DATE_OFFSET
environment variable to insert datetime suffix as offset to the last changed date in format-DDT
to note the closest changed date
- 🔧 fixed: bash: inpage/accum-downloads.sh, boards/accum-stats.sh: accidental exit with 0 on curl error
- 🔧 fixed: bash: inpage/accum-downloads.sh, boards/accum-stats.sh: incorrect save into
by_year
json file relativedownloads
counter - 📝 changed: bash: inpage/accum-downloads.sh, boards/accum-stats.sh: removed previous days increment/decrement counters, removed
STATS_PREV_DAY_*
return variables
- 🔧 fixed: bash/github/accum-stats.sh:
by_year
file rewrite on empty changes - 📝 changed: bash/github/accum-stats.sh: made
uniques
counter goes first in all messages
- 🔧 fixed: bash/github/accum-stats.sh: count/uniques minimum update fix
- 🆕 new: bash/github/accum-stats.sh: added
STATS_CHANGED_DATES
return variable to indicate the list of changed dates at the current date - 📝 changed: bash/github/accum-stats.sh:
STATS_CURRENT_DATE_*
return variables replaced bySTATS_LAST_CHANGED_DATE_*
return variable because last changed date and current date are different dates and the last changed date taken into account at the current date - 📝 changed: bash/github/accum-stats.sh: commit message is changed to indicate accumulation for the last changed date only instead of accumulation for all changed dates because the commit message will be placed for all files including
by_year/YYYY/YYYY-MM-DD.json
files
- 🆕 new: bash/github/accum-stats.sh: added
STATS_CURRENT_DATE_*_INC
andSTATS_CURRENT_DATE_*_DEC
return variables - 📝 changed: bash/github/accum-stats.sh: removed previous days increment/decrement counters and replaced by increment/decrement counters in a last date, removed
STATS_PREV_DAY_*
return variables
- 🔧 fixed: bash/github/accum-stats.sh: minor changelog output fix
- 🔧 fixed: bash/github/accum-stats.sh: current date count/uniques print into changelog file
- 🆕 new: bash/github/accum-stats.sh: save changed dates list into changelog file
- 🆕 new: bash/cache/accum-content.sh: added check of
NO_SKIP_UNEXPIRED_ENTRIES
to avoid skip of not yet expired files and force to download them
- 🔧 fixed: bash/inpage/accum-downloads.sh: save into
by_year
json file relativedownloads
counter instead of absolute - 🔧 fixed: bash/boards/accum-stats.sh: save into
by_year
json file relativedownloads
counter instead of absolute - 🆕 new: bash: added
commit_msg_entity
optional input parameter as replacement ofstat_entity
in the commit message - 🆕 new: bash/github/accum-rate-limits.sh: added
stat_entity
required input parameter to select implementation - 🆕 new: bash/github/accum-stats.sh: added
STATS_CURRENT_DATE_COUNT
,STATS_CURRENT_DATE_UNIQUES
,STATS_DATED_COUNT
,STATS_DATED_UNIQUES
,STATS_OUTDATED_COUNT
,STATS_OUTDATED_UNIQUES
return variables - 📝 changed: bash/github/accum-stats.sh: removed
stats_list_key
input parameter, usestat_entity
to select the implementation - 📝 changed: bash/board/accum-stats.sh: removed
board_name
input parameter - 📝 changed: bash/board/accum-stats.sh: changed the commit message, replaced previous day increment group by current date accumulated value
- 📝 changed: bash/cache/accum-content.sh: removed
store_entity_path
input parameter - 📝 changed: bash/cache/accum-content.sh: changed the commit message, replaced previous day increment/decrement group by current date accumulated value
- 📝 changed: bash/inpage/accum-downloads.sh: removed
stat_entity_path
input parameter - 📝 changed: bash/inpage/accum-downloads.sh: changed the commit message, replaced previous day increment group by current date accumulated value
- 📝 changed: bash: swapped
COMMIT_MESSAGE_PREFIX
andCOMMIT_MESSAGE_SUFFIX
in all scripts to further improve readability in case of GitHub commit message truncation - 📝 changed: bash: added more accumulation details in the
COMMIT_MESSAGE_PREFIX
value - 🔀 refactor: bash: renamed
stat_entity_path
tostat_entity
in the rest scripts
- 📝 changed: bash/github/accum-content.sh: changed the commit message to improve readability in case of GitHub commit message truncation
- 🔧 fixed: bash: board/accum-stats.sh, cache/accum-content.sh, inpage/accum-downloads.sh: curl progress obscure by stderr is workarounded by grep it into stdout
- 🆕 new: bash/github/accum-content.sh: generate
content-index.yml
fromcontent-config.yml
if does not exist
- 🔧 fixed: bash/github/accum-content.sh: update downloaded file only if content is changed, increment skip counter if file hash is not changed (additionally to not yet expired files)
- 🆕 new: bash/github/accum-content.sh:
ERROR_ON_EMPTY_CHANGES_WITHOUT_ERRORS
environment variable to generate error on empty changes without errors to interrupt futher pipeline execution
- 🔧 fixed: bash/github/accum-content.sh: execution fix
- 🔧 fixed: bash/github/print-*.sh: accidental buffer unset in case of call twice to
gh_enable_print_*_buffering
- 🆕 new: bash: curl stderr print on error
- 🆕 new: action.yml: added
COMMIT_MESSAGE_PREFIX
to split an automated user commit message into prefix and suffix parts - 📝 changed: bash/cache/accum-content.sh: treat empty downloaded files as invalid
- 📝 changed: bash/github/accum-rate-limits.sh: replaced
core
statistic bygraphql
statistic becauserate
duplicates thecore
statistic, addedgraphql
statistic difference
- 🆕 new: bash: accum-*.sh: added
ENABLE_COMMIT_MESSAGE_DATE_WITH_TIME
environment variable to add date with time to a generated commit message - 📝 changed: bash/github/accum-rate-limits.sh: removed
commit_message_insert_time
as a script parameter - 📝 changed: bash/github/print-*.sh: use script call as call to the
gh_print_*s
function instead of call to thegh_print_*_ln
function to print each argument as a single line
- 🆕 new: bash/github:
init-curl-workflow.sh
initialization script - 🆕 new: bash: print curl response on error support through
ENABLE_PRINT_CURL_RESPONSE_ON_ERROR
variable
- 📝 changed: bash/github/print-*.sh: split
gh_print_*_ln
functions intogh_print_*_ln
andgh_print_*s
functions to print either all as a single line or all as multi line
- 🔧 fixed: bash/github/init-basic-workflow.sh: split a print buffer by line returns to print
- 🔧 fixed: bash: accum-*.sh: scripts execution
- 🆕 new: bash: accum-*.sh: enable warnings and errors print buffering on demand to resort warning prints after notices and error prints after warnings and notices
- 🆕 new: bash: accum-*.sh: added warnings and errors print lag
- 🔧 fixed: bash: accum-*.sh: missed to call
gh_prepend_changelog_file
on early exit
- 🔧 fixed: bash/github/init-basic-workflow.sh: avoid strings excessive expansion in
prepend_changelog_file
function - 🆕 new: bash/github:
init-jq-workflow.sh
initialization script - 🆕 new: _externals: partially added as an external copy of the tacklelib bash library
- 📝 changed: bash: accum-*.sh: reduce text output size into the changelog file
- 🔧 fixed: bash: scripts execution
- 🆕 new: bash/github:
init-basic-workflow.sh
,init-stats-workflow.sh
initialization scripts - 🆕 new: bash/github:
set-env-from-args.sh
script to set environment variables from arguments - 🆕 new: bash: changelog file support through
CONTINUE_ON_INVALID_INPUT
,CONTINUE_ON_EMPTY_CHANGES
,CONTINUE_ON_RESIDUAL_CHANGES
,ENABLE_GENERATE_CHANGELOG_FILE
,changelog_dir
,changelog_txt
variables
- 🆕 new: bash/github/accum-rate-limit.sh: added
commit_message_insert_time
input parameter andCOMMIT_MESSAGE_DATE_TIME_PREFIX
output variable to use in a commit message
- 🆕 new: bash/github/accum-rate-limit.sh: accumulate rate limits bash script
- 🔧 fixed: bash/github/accum-stats.sh: missed to save by_year json using the current timestamp instead of github json timestamp
- 🔧 fixed: bash//accum-.sh: basic protection from invalid values spread after read an invalid json file
- 🔧 fixed: bash/github/accum-stats.sh: code cleanup
- 🔧 fixed: bash: board/accum-stats.sh, inpage/accum-downloads.sh: exit with error if nothing is changed
- 🔧 fixed: bash/github/accum-stats.sh: missed to check by_year json changes and if changed then change the timestamp
- 🆕 new: bash: board/accum-stats.sh, inpage/accum-downloads.sh:
STATS_PREV_EXEC_*
andSTATS_PREV_DAY_*
variables to represent the script previous execution/day difference - 📝 changed: bash: board/accum-stats.sh, inpage/accum-downloads.sh: calculate difference in the
COMMIT_MESSAGE_SUFFIX
variable between current json file and the last change from the previous day instead of from the previous json file (independently to the pipeline scheduler times)
- 🆕 new: bash//accum-.sh:
STATS_DATE_UTC
andSTATS_DATE_TIME_UTC
variables to represent the script execution times - 🆕 new: bash/github/accum-stats.sh:
STATS_PREV_EXEC_*
andSTATS_PREV_DAY_*
variables to represent the script previous execution/day difference - 📝 changed: bash/github/accum-stats.sh: calculate difference in the
COMMIT_MESSAGE_SUFFIX
variable between current json file and the last change from the previous day instead of from the previous json file (independently to the pipeline scheduler times)
- 🔧 fixed: bash: missed
stats_dir
andstats_json
variables check in respective scripts
- 🆕 new: bash: use
GH_WORKFLOW_ROOT
variable to includegh-workflow
shell scripts as dependencies
- 📝 changed: bash/github/print-*.sh: avoid output duplication, always print warnings/errors into stderr including GitHub pipeline
- 🆕 new: bash/github:
print-*.sh
scripts to directly call from GitHub pipeline for multiline messages (line per annotation)
- 🆕 new: accum-stats.sh, accum-downloads.sh: create
COMMIT_MESSAGE_SUFFIX
variable and print statistics change into GitHub pipeline
- 📝 changed: accum-stats.sh, accum-downloads.sh: always print script main execution parameters, even if has no error or warning