diff options
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/main.yaml | 186 |
1 files changed, 116 insertions, 70 deletions
diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 9d9eb186..7787ddad 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -4,79 +4,125 @@ on: push: branches: - main + - package-python jobs: - do-nothing: + 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 - # publish: - # runs-on: ubuntu-latest - - # steps: - # - name: Checkout - # uses: actions/checkout@v2 - - # - name: Set up Python - # uses: actions/setup-python@v2 - # with: - # python-version: "3.8" - - # - name: Install Poetry - # run: | - # curl -sSL https://install.python-poetry.org | python3 - - - # - name: Install Python dependencies - # run: | - # cd continuedev - # poetry install - - # - 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 --legacy-peer-deps - - # - name: Install react-app Dependencies - # run: | - # cd extension/react-app - # npm ci --legacy-peer-deps - - # - name: Build and Publish - # run: | - # cd extension - # npm run full-package - - # - name: Commit changes - # run: | - # git config --local user.email "action@github.com" - # git config --local user.name "GitHub Action" - # git commit -am "Update package.json version [skip ci]" - - # - name: Push changes - # uses: ad-m/github-push-action@master - # with: - # github_token: ${{ secrets.GITHUB_TOKEN }} - - # - name: Upload .vsix artifact - # uses: actions/upload-artifact@v2 - # with: - # name: vsix-artifact - # path: extension/build/* + + - 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/* |