name: publish on: push: branches: - dev - stable jobs: build: strategy: matrix: include: - os: ubuntu-latest platform: linux arch: x64 npm_config_arch: x64 - os: windows-latest platform: win32 arch: x64 npm_config_arch: x64 - os: macos-latest platform: darwin arch: arm64 npm_config_arch: arm64 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '20' - run: npm install env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} npm_config_arch: ${{ matrix.npm_config_arch }} - shell: pwsh run: echo "target=${{ matrix.platform }}-${{ matrix.arch }}" >> $env:GITHUB_ENV - run: npx vsce package --target ${{ env.target }} - uses: actions/upload-artifact@v4 with: name: ${{ env.target }} path: "*.vsix" publish: runs-on: ubuntu-latest needs: build steps: - uses: actions/download-artifact@v4 - run: npx vsce publish --packagePath $(find . -iname *.vsix) env: VSCE_PAT: ${{ secrets.AZURE_TOKEN }}