name: Publish Extension on: push: branches: - main - package-python jobs: pyinstaller: strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - name: Check-out repository uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: "3.10" - name: Install Pyinstaller run: | pip install pyinstaller - name: Install Dependencies run: | pip install -r continuedev/requirements.txt - run: pyinstaller run.py --exclude-module numpy --exclude-module jedi -F - name: Set permissions run: | chmod 777 dist/run - name: Upload Artifacts uses: actions/upload-artifact@v3 with: name: ${{ runner.os }} Build path: dist/* publish: needs: pyinstaller runs-on: ubuntu-latest permissions: contents: write steps: - name: Checkout uses: actions/checkout@v2 - name: Download Linux build uses: actions/download-artifact@v2 with: name: Linux Build path: extension/server/exe/linux - name: Download macOS build uses: actions/download-artifact@v2 with: name: macOS Build path: extension/server/exe/mac - name: Download Windows build uses: actions/download-artifact@v2 with: name: Windows Build path: extension/server/exe/windows - name: Use Node.js 19.0.0 uses: actions/setup-node@v3 with: node-version: 19.0.0 - name: Cache extension node_modules uses: actions/cache@v2 with: path: extension/node_modules key: ${{ runner.os }}-node-${{ hashFiles('extension/package-lock.json') }} - name: Cache react-app node_modules uses: actions/cache@v2 with: path: extension/react-app/node_modules key: ${{ runner.os }}-node-${{ hashFiles('extension/react-app/package-lock.json') }} - name: Set up Node.js uses: actions/setup-node@v2 with: node-version: "14" - name: Install extension Dependencies run: | cd extension npm ci - name: Install react-app Dependencies run: | cd extension/react-app npm ci --legacy-peer-deps - name: Build and Publish run: | cd extension npm run package # npx vsce publish patch -p ${{ secrets.VSCE_TOKEN }} # - name: Commit changes # run: | # git config --local user.email "action@github.com" # git config --local user.name "GitHub Action" # git commit -am "ci: 💚 Update package.json version [skip ci]" # - name: Push changes # uses: ad-m/github-push-action@master # with: # github_token: ${{ secrets.GITHUB_TOKEN }} # branch: ${{ github.ref }} - name: Upload .vsix artifact uses: actions/upload-artifact@v2 with: name: vsix-artifact path: extension/build/*