name: Publish to NPM on: push: branches: ["main"] workflow_dispatch: env: AWS_REGION: us-east-1 jobs: publish-npm: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - id: install-aws-cli uses: unfor19/install-aws-cli-action@v1 with: version: 2 # default verbose: false # default arch: amd64 # allowed values: amd64, arm64 - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v1-node16 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: ${{ env.AWS_REGION }} - uses: actions/setup-node@v3 with: node-version: 18 - run: | git config user.name github-actions git config user.email github-actions@github.com - run: | npm install -g vsce npm run co:login latest_published_version=$(npm show roo-cline version) current_package_version=$(node -p "require('./package.json').version") echo "Latest published version: $latest_published_version" echo "Current package version: $current_package_version" if [ "$latest_published_version" == "$current_package_version" ]; then echo "Latest version is already published to NPM" else npm install cd webview-ui npm install cd .. npm run vsix npm publish echo "Successfully published to NPM" fi