Commit b55f4f1f authored by Ruben ten Hove's avatar Ruben ten Hove
Browse files

fix: upgrade dasel to v2

parent aeb60688
Loading
Loading
Loading
Loading
+8 −9
Original line number Diff line number Diff line
@@ -11,25 +11,24 @@ include:
gitlab:recommended:
  stage: test
  image:
    name: ghcr.io/tomwright/dasel:v1.27.3-alpine
    name: ghcr.io/tomwright/dasel:alpine
    entrypoint: [""]
  variables:
    GIT_STRATEGY: none
  script:
    - apk add curl
    - wget -qO .settings.yml
    - dasel --version
    - curl -sSLf -o .settings.yml
      https://gitlab.com/just-ci/templates/-/raw/v6.28.0/project-automation/gitlab/recommended-settings.yml
    - FILE=project_${CI_PROJECT_ID}_details
    - |
      curl -sSLf -H "PRIVATE-TOKEN: ${GL_TOKEN}" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}" -o ${FILE}.json
    - dasel -f ${FILE}.json -r json -w yaml > ${FILE}.yml
      curl -sSLf -H "PRIVATE-TOKEN: ${GL_TOKEN}" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}" -o current_project.json
    - let COUNT=0 || true
    - |
      for KEY in $(dasel -f .settings.yml -m '.-'); do
      for KEY in $(dasel -f .settings.yml -r yaml "keys().all()" -w -); do
        printf "[*] Checking ${KEY}..."
        CURRENT=$(dasel -f ${FILE}.yml ${KEY})
        RECOMMENDED=$(dasel -f .settings.yml "${KEY}".recommended)
        HINT=$(dasel -f .settings.yml ${KEY}.hint)
        CURRENT=$(dasel -f current_project.json -r json "${KEY}" -w -)
        RECOMMENDED=$(dasel -f .settings.yml "${KEY}.recommended")
        HINT=$(dasel -f .settings.yml "${KEY}.hint")
        if [ "${CURRENT}" != "${RECOMMENDED}" ]; then
          echo -e " \e[31mrecommended value not set\e[0m. Current value is: ${CURRENT}. Expected value is: ${RECOMMENDED}."
          echo "${HINT}"
+8 −7
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ include:

semantic-release:
  extends: .release:rules
  image: registry.gitlab.com/just-ci/images/node:latest
  image: registry.gitlab.com/just-ci/images/node:alpine
  stage: .post
  variables:
    NPM_PACKAGES:
@@ -14,6 +14,7 @@ semantic-release:
      @semantic-release/changelog @semantic-release/exec
  script:
    - !reference [".release:install", script]
    - dasel --version

    - |
      if ! test -f .releaserc; then
@@ -22,7 +23,7 @@ semantic-release:
      fi

    - |
      if [ "$(dasel -f .releaserc -r json -m '(?:-=assets)')" = "[]" ] && [ "${DISABLE_AUTO_RELEASE_ASSETS}" = "" ]; then
      if [ "$(dasel -f .releaserc -r json 'plugins.all().filter(equal(type(),array)).all().filter(equal(type(),object)).assets.all().count()')" = "0" ] && [ "${DISABLE_AUTO_RELEASE_ASSETS}" = "" ]; then
        echo "[-] No assets set in .releaserc."
        if test -f tbump.toml; then
          SOURCE_FILE=tbump.toml
@@ -37,8 +38,7 @@ semantic-release:

    - |
      if [ "${SOURCE_FILE}" != "" ]; then
        dasel --version
        TBUMP_FILES=$(dasel -n -f ${SOURCE_FILE} -r toml -w yaml -m "${DASEL_PATH}.[*].src")
        TBUMP_FILES=$(dasel -f ${SOURCE_FILE} -r toml -w yaml "${DASEL_PATH}.all().src")
        if [ "${TBUMP_FILES}" = "null" ]; then
          echo "[-] No files set. Not pushing assets."
        else
@@ -46,8 +46,8 @@ semantic-release:
            TBUMP_FILES="${TBUMP_FILES} CHANGELOG.md"
          fi
          for FILE in ${TBUMP_FILES} ${SOURCE_FILE}; do
            if [ "$(dasel -n -f .releaserc -p json -m '(?:-=assets).(?:.=${FILE})')" = "null" ]; then
              dasel put string -f .releaserc -p json -m '(?:-=assets).[]' "${FILE}"
            if [ $(dasel -f .releaserc -r json "plugins.all().filter(equal(type(),array)).all().filter(equal(type(),object)).assets.all().filter(equal(.,${FILE})).count(),0.moreThan(.,0)") = "false" ]; then
              dasel put -f .releaserc -t string -r json -w json -v "${FILE}" 'plugins.all().filter(equal(type(),array)).all().filter(equal(type(),object)).assets.append()'
              echo "[+] Added ${FILE} to .releaserc."
            fi
          done
@@ -56,8 +56,9 @@ semantic-release:
    - export GIT_AUTHOR_EMAIL="$(curl -s -X GET -H "PRIVATE-TOKEN:$GL_TOKEN"
      "${CI_API_V4_URL}/user" | jq -r '.email')"
    - export GIT_COMMITTER_EMAIL="${GIT_AUTHOR_EMAIL}"
    - semantic-release --version
    - semantic-release ${SEMANTIC_RELEASE_EXTRA_ARGS}
  dependencies:
    - tbump
  artifacts:
    paths:
      - .releaserc