Schedule (every 5 minutes) or push to main branch.
With ENVIRONMENT=DEBUG in environment, the script doesn't publish but outputs the commands that would be run. A publish is only triggered when ENVIRONMENT=PRODUCTION is set.
Entry point to test development is npm run vsce:check <channel>, where channel=dev|latest.
- Defined in the file
.github/workflows/publish.yml npm run vsce:check <channel>is run twice with "dev" and "latest" as channels respectively. Internally, it callscheck-update.sh <channel>
Note the both dev workflow and latest workflow call the same scripts, the channel variable acts as a workflow discriminator as both workflows have slight differences, now we list the workflow steps in details:
npm run vsce:check devcallscheck-update.sh devcheck-update.shsets up the repo with Prismo bot as the user, all commits in the remainder of this workflow are attributed to Prismo.check-update.shcomparesCURRENT_VERSION(extension) againstNPM_VERSIONof Prisma CLI.- If they are same, this script exits
- If they are different,
bump.sh <channel> <version>is called withchannel=devandversion=NPM_VERSION(i.e. the new version of extension to publish) bump.shupdates thepackage.jsonfiles in root, client, server and setsname,displayName,version,dependencies.@prisma/*packages, andprisma.enginesVersionvalues.check-update.shthen commits these changes, this commit is required becausevsce publish(to be run later requires a clean git state)npm run vsce:publish <channel> <version>i.e.publish.sh <channel> <version>is then called withchannel=devandversion=NPM_VERSION(i.e. the new version of extension to publish). This command publishes the "Prisma Dev" extension.publish.shpushes to vscode main repo. Only changes from the dev channel are pushed.
npm run vsce:check latestcallscheck-update.sh latestcheck-update.shsets up the repo with Prismo bot as the user, all commits in the remainder of this workflow are attributed to Prismo.check-update.shcomparesCURRENT_VERSION(extension) againstNPM_VERSIONof Prisma CLI.- If they are same, this script exits
- If they are different,
bump.sh <channel> <version>is called withchannel=latestandversion=NPM_VERSION(i.e. the new version of extension to publish) bump.shupdates thepackage.jsonfiles in root, client, server and setsname,displayName,version,dependencies.@prisma/*packages, andprisma.enginesVersionvalues.check-update.shthen commits these changes, this commit is required becausevsce publish(to be run later requires a clean git state)npm run vsce:publish <channel> <version>i.e.publish.sh <channel> <version>is then called withchannel=latestandversion=NPM_VERSION(i.e. the new version of extension to publish). This command published the "Prisma" extension.