Remove module type from service worker and update sha #190
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build | |
| on: | |
| push: | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| jobs: | |
| # The main job for building the application | |
| build: | |
| name: Build sagemaker-code-editor | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 180 | |
| env: | |
| DISABLE_V8_COMPILE_CACHE: 1 | |
| steps: | |
| - name: Checkout repo with submodules | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y make gcc g++ libx11-dev xorg-dev libxkbfile-dev libsecret-1-dev libkrb5-dev python3 jq perl gettext automake autoconf quilt | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: 'npm' | |
| cache-dependency-path: '**/package-lock.json' | |
| - name: Apply patches (if any) | |
| run: | | |
| if [ -d patches ] && [ "$(ls -A patches)" ]; then | |
| { | |
| quilt push -a --leave-rejects --color=auto | |
| } || { | |
| printf "\nPatching error, review logs!\n" | |
| find ./vscode -name "*.rej" | |
| exit 1 | |
| } | |
| fi | |
| - name: Set Development Version | |
| id: version | |
| run: | | |
| SHORT_SHA=$(echo "${{ github.sha }}" | cut -c1-7) | |
| VERSION="0.0.0-dev-${SHORT_SHA}" | |
| echo "VERSION=$VERSION" >> $GITHUB_ENV | |
| echo "Generated version for this build: $VERSION" | |
| - name: Build vscode | |
| run: | | |
| cd vscode | |
| export DISABLE_V8_COMPILE_CACHE=1 | |
| export UV_THREADPOOL_SIZE=4 | |
| npm install -g node-gyp | |
| # Install dependencies using npm, skip optional and native modules | |
| npm install | |
| # Run the gulp build task with memory optimizations | |
| ARCH_ALIAS=linux-x64 | |
| node --max-old-space-size=32768 --optimize-for-size \ | |
| ./node_modules/gulp/bin/gulp.js \ | |
| "vscode-reh-web-${ARCH_ALIAS}-min" | |
| - name: Find build output | |
| id: find_output | |
| run: | | |
| BUILD_PATH=$(find . -name "vscode-reh-web-linux-x64" -type d | head -n 1) | |
| if [ -z "$BUILD_PATH" ]; then | |
| echo "::error::Build output directory 'vscode-reh-web-linux-x64' not found!" | |
| exit 1 | |
| fi | |
| echo "Build output found at: $BUILD_PATH" | |
| echo "build_path=$BUILD_PATH" >> $GITHUB_OUTPUT | |
| - name: Rename build output directory | |
| id: rename_output | |
| run: | | |
| ORIG_PATH="${{ steps.find_output.outputs.build_path }}" | |
| PARENT_DIR=$(dirname "$ORIG_PATH") | |
| mv "$ORIG_PATH" "$PARENT_DIR/sagemaker-code-editor" | |
| echo "Renamed build output directory to: $PARENT_DIR/sagemaker-code-editor" | |
| echo "build_path=$PARENT_DIR/sagemaker-code-editor" >> $GITHUB_OUTPUT | |
| - name: Create tarball archive | |
| run: | | |
| TARBALL="sagemaker-code-editor-${{ env.VERSION }}.tar.gz" | |
| BUILD_DIR_PATH="${{ steps.rename_output.outputs.build_path }}" | |
| PARENT_DIR=$(dirname "$BUILD_DIR_PATH") | |
| BUILD_DIR_NAME=$(basename "$BUILD_DIR_PATH") | |
| echo "Creating '$TARBALL' from '$BUILD_DIR_NAME' in '$PARENT_DIR'" | |
| tar czf $TARBALL -C "$PARENT_DIR" "$BUILD_DIR_NAME" | |
| - name: Upload build artifact | |
| if: env.ACT == '' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: npm-package | |
| path: sagemaker-code-editor-${{ env.VERSION }}.tar.gz |