You've already forked helm-gitea
Some checks failed
Run Helm tests / Execute helm lint (push) Successful in 11s
Run Helm tests / Execute helm template (push) Failing after 11s
Run Helm tests / Execute helm unittest (push) Successful in 28s
Markdown linter / Execute npm run readme:link (push) Successful in 36s
Markdown linter / Execute npm run readme:lint (push) Successful in 8s
Markdown linter / Execute npm run readme:parameters (push) Successful in 27s
🤖 Split up helm chart workflows The following patch adapts the CI workflows. The worflows has been splitted into dedicated parts. For example the `helm template` and `helm unittest` command is now a seperate step to notice that a change affects the template mechanism but not the unittest. This was priviously not possible, because both commands were part of one step. 🤖 Changelog Issue Additionally has the changelog workflow be improved. The shell commands has been migrated to a dedicated file named `.gitea/scripts/changelog.sh`. This has the advantage, that the shellcheck plugin of IDE's support developers by developing such shell scripts. Furthermore, the used container image has been replaced by the ubuntu:latest image of the act_runner. This make it more comfortable in using `curl` or `jq`, because the complete set of features/flags are avialable instead of the previously used container image `docker.io/thegeeklab/git-sv:2.0.5`. Final note to the shell script `changelog.sh`, this can now be executed locally as well as on ARM-based act_runners and helps to test the helm chart in own Gitea environments beforehand. 🤖 Markdown linter In addition, a new workflow for markdown files has now been introduced. This checks the `README.md` file for links, ensures that it is properly formatted, and verifies that the parameters match those in `values.yaml`. Here, too, the commands have been outsourced to separate jobs so that more precise interaction is possible in the event of an error. ⚠️ Warning This patch also requires an adjustment in branch protection. There, the workflows that must be successful before a merge must be redefined. Reviewed-on: https://gitea.com/gitea/helm-gitea/pulls/959 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: Markus Pesch <markus.pesch@cryptic.systems> Co-committed-by: Markus Pesch <markus.pesch@cryptic.systems>
87 lines
2.8 KiB
Bash
Executable File
87 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
DEFAULT_GITEA_SERVER_URL="${GITHUB_SERVER_URL:-"https://gitea.com"}"
|
|
DEFAULT_GITEA_REPOSITORY="${GITHUB_REPOSITORY:-"gitea/helm-gitea"}"
|
|
DEFAULT_GITEA_TOKEN="${ISSUE_RW_TOKEN:-""}"
|
|
|
|
if [ -z "${1}" ]; then
|
|
read -p "Enter hostname of the Gitea instance [${DEFAULT_GITEA_SERVER_URL}]: " CURRENT_GITEA_SERVER_URL
|
|
if [ -z "${CURRENT_GITEA_SERVER_URL}" ]; then
|
|
CURRENT_GITEA_SERVER_URL="${DEFAULT_GITEA_SERVER_URL}"
|
|
fi
|
|
else
|
|
CURRENT_GITEA_SERVER_URL=$1
|
|
fi
|
|
|
|
if [ -z "${2}" ]; then
|
|
read -p "Enter name of the git repository [${DEFAULT_GITEA_REPOSITORY}]: " CURRENT_GITEA_REPOSITORY
|
|
if [ -z "${CURRENT_GITEA_REPOSITORY}" ]; then
|
|
CURRENT_GITEA_REPOSITORY="${DEFAULT_GITEA_REPOSITORY}"
|
|
fi
|
|
else
|
|
CURRENT_GITEA_REPOSITORY=$2
|
|
fi
|
|
|
|
if [ -z "${3}" ]; then
|
|
read -p "Enter token to access the Gitea instance [${DEFAULT_GITEA_TOKEN}]: " CURRENT_GITEA_TOKEN
|
|
if [ -z "${CURRENT_GITEA_TOKEN}" ]; then
|
|
CURRENT_GITEA_TOKEN="${DEFAULT_GITEA_TOKEN}"
|
|
fi
|
|
else
|
|
CURRENT_GITEA_TOKEN=$3
|
|
fi
|
|
|
|
if ! git sv rn -o /tmp/changelog.md; then
|
|
echo "ERROR: Failed to generate /tmp/changelog.md" 1>&2
|
|
exit 1
|
|
fi
|
|
|
|
CURL_ARGS=(
|
|
"--data-urlencode" "q=Changelog for upcoming version"
|
|
# "--data-urlencode=\"q=Changelog for upcoming version\""
|
|
"--data-urlencode" "state=open"
|
|
"--fail"
|
|
"--header" "Accept: application/json"
|
|
"--header" "Authorization: token ${CURRENT_GITEA_TOKEN}"
|
|
"--request" "GET"
|
|
"--silent"
|
|
)
|
|
|
|
if ! ISSUE_NUMBER="$(curl "${CURL_ARGS[@]}" "${CURRENT_GITEA_SERVER_URL}/api/v1/repos/${CURRENT_GITEA_REPOSITORY}/issues" | jq '.[].number')"; then
|
|
echo "ERROR: Failed query issue number" 1>&2
|
|
exit 1
|
|
fi
|
|
export ISSUE_NUMBER
|
|
|
|
if ! echo "" | jq --raw-input --slurp --arg title "Changelog for upcoming version" --arg body "$(cat /tmp/changelog.md)" '{title: $title, body: $body}' 1> /tmp/payload.json; then
|
|
echo "ERROR: Failed to create JSON payload file" 1>&2
|
|
exit 1
|
|
fi
|
|
|
|
CURL_ARGS=(
|
|
"--data" "@/tmp/payload.json"
|
|
"--fail"
|
|
"--header" "Authorization: token ${CURRENT_GITEA_TOKEN}"
|
|
"--header" "Content-Type: application/json"
|
|
"--location"
|
|
"--silent"
|
|
"--output" "/dev/null"
|
|
)
|
|
|
|
if [ -z "${ISSUE_NUMBER}" ]; then
|
|
if ! curl "${CURL_ARGS[@]}" --request POST "${CURRENT_GITEA_SERVER_URL}/api/v1/repos/${CURRENT_GITEA_REPOSITORY}/issues"; then
|
|
echo "ERROR: Failed to create new issue!" 1>&2
|
|
exit 1
|
|
else
|
|
echo "INFO: Successfully created new issue!"
|
|
fi
|
|
else
|
|
if ! curl "${CURL_ARGS[@]}" --request PATCH "${CURRENT_GITEA_SERVER_URL}/api/v1/repos/${CURRENT_GITEA_REPOSITORY}/issues/${ISSUE_NUMBER}"; then
|
|
echo "ERROR: Failed to update issue with ID ${ISSUE_NUMBER}!" 1>&2
|
|
exit 1
|
|
else
|
|
echo "INFO: Successfully updated existing issue with ID ${ISSUE_NUMBER}!"
|
|
echo "INFO: ${CURRENT_GITEA_SERVER_URL}/${CURRENT_GITEA_REPOSITORY}/issues/${ISSUE_NUMBER}"
|
|
fi
|
|
fi
|