File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 6868 - name : React Native CLI example
6969 run : npm run example:rn-cli:typecheck
7070
71- - name : Verify packages are unpublished
71+ - name : Verify package publish state
7272 id : package
7373 run : |
7474 PACKAGE_NAME=$(node -p "require('./package.json').name")
9595 WORKSPACE_VERSION=$(node -p "require('./${PACKAGE_JSON}').version")
9696
9797 if npm view "${WORKSPACE_NAME}@${WORKSPACE_VERSION}" version >/dev/null 2>&1; then
98- echo "${WORKSPACE_NAME}@${WORKSPACE_VERSION} is already published"
99- exit 1
98+ echo "${WORKSPACE_NAME}@${WORKSPACE_VERSION} is already published and will be skipped"
10099 fi
101100 done
102101
@@ -108,7 +107,22 @@ jobs:
108107 - name : Publish
109108 run : |
110109 for PACKAGE_DIR in $(node scripts/list-release-packages.mjs --publishable); do
111- npm publish "${PACKAGE_DIR}" --access public --provenance --tag "${NPM_TAG}"
110+ PACKAGE_JSON="${PACKAGE_DIR}/package.json"
111+ PUBLISH_TARGET="./${PACKAGE_DIR}"
112+ if [ "${PACKAGE_DIR}" = "." ]; then
113+ PACKAGE_JSON="package.json"
114+ PUBLISH_TARGET="."
115+ fi
116+
117+ WORKSPACE_NAME=$(node -p "require('./${PACKAGE_JSON}').name")
118+ WORKSPACE_VERSION=$(node -p "require('./${PACKAGE_JSON}').version")
119+
120+ if npm view "${WORKSPACE_NAME}@${WORKSPACE_VERSION}" version >/dev/null 2>&1; then
121+ echo "Skipping ${WORKSPACE_NAME}@${WORKSPACE_VERSION}; already published"
122+ continue
123+ fi
124+
125+ npm publish "${PUBLISH_TARGET}" --ignore-scripts --access public --provenance --tag "${NPM_TAG}"
112126 done
113127 env :
114128 NPM_TAG : ${{ steps.package.outputs.npm_tag }}
You can’t perform that action at this time.
0 commit comments