change env var to flag
This commit is contained in:
parent
578d2e2176
commit
6e5d4c77d4
2 changed files with 41 additions and 15 deletions
2
.github/workflows/daily.yml
vendored
2
.github/workflows/daily.yml
vendored
|
|
@ -51,7 +51,7 @@ jobs:
|
||||||
|
|
||||||
- name: Publish nightly version to NPM
|
- name: Publish nightly version to NPM
|
||||||
if: steps.check_changes.outputs.has_changes == 'true'
|
if: steps.check_changes.outputs.has_changes == 'true'
|
||||||
run: COLOR=1 PUBLISH=1 ./make.sh js
|
run: COLOR=1 ./make.sh --version=nightly js
|
||||||
env:
|
env:
|
||||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
GITHUB_TOKEN: ${{ secrets._GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets._GITHUB_TOKEN }}
|
||||||
|
|
|
||||||
|
|
@ -18,26 +18,52 @@ fi
|
||||||
cd d2js/js
|
cd d2js/js
|
||||||
sh_c bun build.js
|
sh_c bun build.js
|
||||||
|
|
||||||
if [ "${PUBLISH:-0}" = "1" ]; then
|
if [ -n "$VERSION" ]; then
|
||||||
echo "Publishing nightly version to NPM..."
|
cp package.json package.json.bak
|
||||||
|
trap 'rm -f .npmrc; mv package.json.bak package.json' EXIT
|
||||||
|
|
||||||
|
if [ "$VERSION" = "nightly" ]; then
|
||||||
|
echo "Publishing nightly version to npm..."
|
||||||
|
|
||||||
DATE_TAG=$(date +'%Y%m%d')
|
DATE_TAG=$(date +'%Y%m%d')
|
||||||
COMMIT_SHORT=$(git rev-parse --short HEAD)
|
COMMIT_SHORT=$(git rev-parse --short HEAD)
|
||||||
CURRENT_VERSION=$(node -p "require('./package.json').version")
|
CURRENT_VERSION=$(node -p "require('./package.json').version")
|
||||||
NIGHTLY_VERSION="${CURRENT_VERSION}-nightly.${DATE_TAG}.${COMMIT_SHORT}"
|
PUBLISH_VERSION="${CURRENT_VERSION}-nightly.${DATE_TAG}.${COMMIT_SHORT}"
|
||||||
|
NPM_TAG="nightly"
|
||||||
|
|
||||||
cp package.json package.json.bak
|
echo "Updating package version to ${PUBLISH_VERSION}"
|
||||||
trap 'rm -f .npmrc; mv package.json.bak package.json' EXIT
|
else
|
||||||
|
echo "Publishing official version ${VERSION} to npm..."
|
||||||
|
PUBLISH_VERSION="$VERSION"
|
||||||
|
NPM_TAG="latest"
|
||||||
|
|
||||||
echo "Updating package version to ${NIGHTLY_VERSION}"
|
echo "Setting package version to ${PUBLISH_VERSION}"
|
||||||
npm version "${NIGHTLY_VERSION}" --no-git-tag-version
|
fi
|
||||||
|
|
||||||
echo "Publishing to npm with tag 'nightly'..."
|
# Update package.json with the new version
|
||||||
|
npm version "${PUBLISH_VERSION}" --no-git-tag-version
|
||||||
|
|
||||||
|
echo "Publishing to npm with tag '${NPM_TAG}'..."
|
||||||
if [ -n "${NPM_TOKEN-}" ]; then
|
if [ -n "${NPM_TOKEN-}" ]; then
|
||||||
|
# Create .npmrc file with auth token
|
||||||
echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc
|
echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc
|
||||||
trap 'rm -f .npmrc' EXIT
|
|
||||||
if npm publish --tag nightly; then
|
if npm publish --tag "$NPM_TAG"; then
|
||||||
echo "Successfully published @terrastruct/d2@${NIGHTLY_VERSION} to npm with tag 'nightly'"
|
echo "Successfully published @terrastruct/d2@${PUBLISH_VERSION} to npm with tag '${NPM_TAG}'"
|
||||||
|
|
||||||
|
# For official releases, bump the patch version
|
||||||
|
if [ "$VERSION" != "nightly" ]; then
|
||||||
|
# Restore original package.json first
|
||||||
|
mv package.json.bak package.json
|
||||||
|
|
||||||
|
echo "Bumping version to ${VERSION}"
|
||||||
|
npm version "${VERSION}" --no-git-tag-version
|
||||||
|
git add package.json
|
||||||
|
git commit -m "Bump version to ${VERSION} [skip ci]"
|
||||||
|
|
||||||
|
# Cancel the trap since we manually restored and don't want it to execute on exit
|
||||||
|
trap - EXIT
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echoerr "Failed to publish package to npm"
|
echoerr "Failed to publish package to npm"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue