release-me-sh 0.8.8 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-me-sh",
3
- "version": "0.8.8",
3
+ "version": "0.9.0",
4
4
  "author": "Davlatjon Shavkatov <opensource@dalisoft.uz>",
5
5
  "repository": {
6
6
  "type": "git",
package/plugins/docker.sh CHANGED
@@ -4,12 +4,14 @@ set -eu
4
4
  # Docker buildx script was copied from
5
5
  # https://docs.docker.com/build/cloud/ci
6
6
  # and modified by @dalisoft for AMD64/ARM64 platforms
7
- BUILDX_URL=
8
- ARCH=$(uname -m | sed 's/aarch64/arm64/' | sed 's/x86_64/amd64/')
9
7
 
10
- prepare() {
11
- BUILDX_URL=$(curl -s https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/buildx-lab-releases.json | jq -r ".latest.assets[] | select(endswith(\"linux-${ARCH}\"))")
8
+ # TODO: This `node` trick for bypassing coverage bug in Bashcov
9
+ # See https://github.com/infertux/bashcov/issues/86
10
+ ARCH=$(node -p "process.arch.replace('aarch64', 'arm64').replace(/x86_64|x64/, 'amd64')")
11
+ OS=$(uname -s | tr '[:upper:]' '[:lower:]')
12
12
 
13
+ prepare() {
14
+ BUILDX_URL=$(curl -s https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/buildx-lab-releases.json | grep "${OS}-${ARCH}\",$" | head -1 | xargs | tr -d ',' | xargs)
13
15
  # Download docker buildx with Hyrdobuild support
14
16
  mkdir -vp ~/.docker/cli-plugins/
15
17
  curl --silent -L --output ~/.docker/cli-plugins/docker-buildx "${BUILDX_URL}"
package/plugins/git.sh CHANGED
@@ -28,6 +28,12 @@ prepare() {
28
28
  echo "$GPG_PASSPHRASE" | gpg --quiet --batch --yes --pinentry-mode loopback --sign --local-user "${GPG_KEY_ID-}" --passphrase-fd 0 >/dev/null
29
29
  log_verbose "Git GPG passphrase set"
30
30
  fi
31
+ elif [ -z "${SSH_NO_SIGN-}" ] && [ -n "${SSH_PUB_KEY-}" ]; then
32
+ git config --local commit.gpgsign true
33
+ git config --local user.signingkey "$SSH_PUB_KEY"
34
+ git config --local tag.forceSignAnnotated true
35
+ git config --local gpg.format ssh
36
+ log_verbose "Git SSH sign is set"
31
37
  fi
32
38
  }
33
39
 
@@ -55,6 +61,12 @@ cleanup() {
55
61
  fi
56
62
 
57
63
  log_verbose "Git GPG config cleanup"
64
+ elif [ -z "${SSH_NO_SIGN-}" ] && [ -n "${SSH_PUB_KEY-}" ]; then
65
+ git config --local --unset commit.gpgsign true
66
+ git config --local --unset user.signingkey "$SSH_PUB_KEY"
67
+ git config --local --unset tag.forceSignAnnotated true
68
+ git config --local --unset gpg.format ssh
69
+ log_verbose "Git SSH sign is unset"
58
70
  fi
59
71
 
60
72
  log_verbose "Git config cleanup"
@@ -70,7 +82,10 @@ release() {
70
82
 
71
83
  if [ -z "${GPG_NO_SIGN-}" ] && [ -n "${GPG_KEY-}" ] && [ -n "${GPG_KEY_ID-}" ]; then
72
84
  git tag --sign "$NEXT_RELEASE_TAG" "$CHECKOUT_SHA" --message "Release, tag and sign $NEXT_RELEASE_TAG"
73
- log "Created signed Git tag [$NEXT_RELEASE_TAG]!"
85
+ log "Created GPG signed Git tag [$NEXT_RELEASE_TAG]!"
86
+ elif [ -z "${SSH_NO_SIGN-}" ] && [ -n "${SSH_PUB_KEY-}" ]; then
87
+ git tag --sign "$NEXT_RELEASE_TAG" "$CHECKOUT_SHA" --message "Release, tag and sign $NEXT_RELEASE_TAG"
88
+ log "Created SSH signed Git tag [$NEXT_RELEASE_TAG]!"
74
89
  else
75
90
  git tag "$NEXT_RELEASE_TAG" "$CHECKOUT_SHA"
76
91
  log "Created Git tag [$NEXT_RELEASE_TAG]!"
@@ -28,6 +28,12 @@ prepare() {
28
28
  echo "$GPG_PASSPHRASE" | gpg --quiet --batch --yes --pinentry-mode loopback --sign --local-user "${GPG_KEY_ID-}" --passphrase-fd 0 >/dev/null
29
29
  log_verbose "Git GPG passphrase set"
30
30
  fi
31
+ elif [ -z "${SSH_NO_SIGN-}" ] && [ -n "${SSH_PUB_KEY-}" ]; then
32
+ git config --local commit.gpgsign true
33
+ git config --local user.signingkey "$SSH_PUB_KEY"
34
+ git config --local tag.forceSignAnnotated true
35
+ git config --local gpg.format ssh
36
+ log_verbose "Git SSH sign is set"
31
37
  fi
32
38
  }
33
39
 
@@ -55,6 +61,12 @@ cleanup() {
55
61
  fi
56
62
 
57
63
  log_verbose "Git GPG config cleanup"
64
+ elif [ -z "${SSH_NO_SIGN-}" ] && [ -n "${SSH_PUB_KEY-}" ]; then
65
+ git config --local --unset commit.gpgsign true
66
+ git config --local --unset user.signingkey "$SSH_PUB_KEY"
67
+ git config --local --unset tag.forceSignAnnotated true
68
+ git config --local --unset gpg.format ssh
69
+ log_verbose "Git SSH sign is unset"
58
70
  fi
59
71
 
60
72
  log_verbose "Git config cleanup"
@@ -81,12 +93,16 @@ release() {
81
93
  if $IS_WORKSPACE; then
82
94
  if [ -z "${GPG_NO_SIGN-}" ] && [ -n "${GPG_KEY-}" ] && [ -n "${GPG_KEY_ID-}" ]; then
83
95
  git commit --sign -m "chore(${PKG_NAME}): update \`package.json\` version to ${NEXT_RELEASE_VERSION}"
96
+ elif [ -z "${SSH_NO_SIGN-}" ] && [ -n "${SSH_PUB_KEY-}" ]; then
97
+ git commit --sign -m "chore(${PKG_NAME}): update \`package.json\` version to ${NEXT_RELEASE_VERSION}"
84
98
  else
85
99
  git commit --no-gpg-sign -m "chore(${PKG_NAME}): update \`package.json\` version to ${NEXT_RELEASE_VERSION}"
86
100
  fi
87
101
  else
88
102
  if [ -z "${GPG_NO_SIGN-}" ] && [ -n "${GPG_KEY-}" ] && [ -n "${GPG_KEY_ID-}" ]; then
89
103
  git commit --sign -m "chore: update \`package.json\` version to ${NEXT_RELEASE_VERSION}"
104
+ elif [ -z "${SSH_NO_SIGN-}" ] && [ -n "${SSH_PUB_KEY-}" ]; then
105
+ git commit --sign -m "chore: update \`package.json\` version to ${NEXT_RELEASE_VERSION}"
90
106
  else
91
107
  git commit --no-gpg-sign -m "chore: update \`package.json\` version to ${NEXT_RELEASE_VERSION}"
92
108
  fi