ci: publish to Verdaccio from Drone on push to master
Same flow as the crudy monorepo packages: test, then publish the package version unless the registry already holds it.
This commit is contained in:
+44
@@ -0,0 +1,44 @@
|
||||
# On every push to master: test, then publish @crudy/pgmorbac to Verdaccio,
|
||||
# the same way the crudy monorepo publishes its packages. A version the
|
||||
# registry already holds is skipped, so a push without a version bump passes.
|
||||
# prepack downloads the signed GitHub release of the same version and verifies
|
||||
# it, so the release must exist before the version bump is pushed.
|
||||
#
|
||||
# Host networking reaches the real Verdaccio on 127.0.0.1:4873; the repo must be
|
||||
# marked Trusted in Drone.
|
||||
#
|
||||
# Required Drone secret:
|
||||
# npm_auth base64 of "<user>:<password>" for Verdaccio (publish rights)
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: publish
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- push
|
||||
|
||||
network_mode: host
|
||||
|
||||
steps:
|
||||
- name: test
|
||||
image: node:24
|
||||
commands:
|
||||
- npm ci --no-audit --no-fund
|
||||
- npm test
|
||||
|
||||
- name: npm-publish
|
||||
image: node:24
|
||||
environment:
|
||||
NPM_AUTH:
|
||||
from_secret: npm_auth
|
||||
commands:
|
||||
- echo "//localhost:4873/:_auth=$NPM_AUTH" > ~/.npmrc
|
||||
- VERSION=$(node -p "require('./package.json').version")
|
||||
- |
|
||||
if npm view "@crudy/pgmorbac@$VERSION" version --registry http://localhost:4873 >/dev/null 2>&1; then
|
||||
echo "@crudy/pgmorbac@$VERSION already published"
|
||||
else
|
||||
npm publish --registry http://localhost:4873
|
||||
fi
|
||||
Reference in New Issue
Block a user