- Adicionado estrutura completa do projeto - Configurado MCP server para Premiere Pro - Adicionado documentação e skills - Configurado Gitignore para o projeto
70 lines
2.1 KiB
YAML
Executable File
70 lines
2.1 KiB
YAML
Executable File
name: Publish npm
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
tag:
|
|
description: npm dist-tag to publish
|
|
required: true
|
|
default: latest
|
|
skip_tests:
|
|
description: Skip tests after build
|
|
required: true
|
|
default: "false"
|
|
type: choice
|
|
options:
|
|
- "false"
|
|
- "true"
|
|
|
|
permissions:
|
|
contents: read
|
|
id-token: write
|
|
|
|
jobs:
|
|
build-signed-cep:
|
|
name: Build signed CEP package
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
- name: Build and verify signed ZXP
|
|
shell: pwsh
|
|
run: ./scripts/build-signed-cep.ps1
|
|
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
with:
|
|
name: signed-cep
|
|
path: artifacts/MCPBridgeCEP.zxp
|
|
if-no-files-found: error
|
|
|
|
publish:
|
|
name: Publish package
|
|
needs: build-signed-cep
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
|
|
with:
|
|
name: signed-cep
|
|
path: artifacts
|
|
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
|
|
with:
|
|
node-version: 24
|
|
registry-url: https://registry.npmjs.org/
|
|
package-manager-cache: false
|
|
- run: npm install --global npm@latest
|
|
- run: npm ci
|
|
- run: npm run premiere:docs-inventory:check
|
|
- run: npm run build
|
|
- if: ${{ inputs.skip_tests != 'true' }}
|
|
run: npm test
|
|
- run: npm run pack:check
|
|
- name: Fail if version is already published
|
|
shell: bash
|
|
run: |
|
|
VERSION="$(node -p "require('./package.json').version")"
|
|
if npm view "premiere-pro-mcp@${VERSION}" version >/dev/null 2>&1; then
|
|
echo "premiere-pro-mcp@${VERSION} is already published."
|
|
exit 1
|
|
fi
|
|
- name: Publish to npm
|
|
run: npm publish --provenance --access public --tag "${{ inputs.tag }}"
|