Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions .devcontainer/onCreate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ echo "Installing the GitHub CLI"
&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& sudo apt update \
&& sudo apt install gh inotify-tools -y
&& sudo apt install gh inotify-tools ripgrep fd-find -y

echo "Installing azcopy"

Expand All @@ -21,11 +21,16 @@ azcopy_dir=$(find /usr/local/bin/ -type d -name "azcopy*" | head -n 1)
sudo mv "$azcopy_dir/azcopy" /usr/local/bin/azcopy
sudo rm -rf "$azcopy_dir"

echo "Installing sdk"

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
"$SCRIPT_DIR/refreshTools.sh"
LATEST_RELEASE=$(bash "$SCRIPT_DIR/refreshTools.sh")
cd /tmp/spark
LATEST_RELEASE="$LATEST_RELEASE" WORKSPACE_DIR="$WORKSPACE_DIR" bash spark-sdk-dist/install-tools.sh

cd /workspaces/spark-template
echo "Pre-starting the server and generating the optimized assets"
npm run optimize --override

echo "Installing supervisor"
sudo apt-get update && sudo apt-get install -y supervisor
sudo apt-get update && sudo apt-get install -y supervisor
31 changes: 23 additions & 8 deletions .devcontainer/postStartCommand.sh
Original file line number Diff line number Diff line change
@@ -1,27 +1,42 @@
#!/bin/bash

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
bash "$SCRIPT_DIR/refreshTools.sh"
LATEST_RELEASE=$(bash "$SCRIPT_DIR/refreshTools.sh")

sudo cp .devcontainer/spark.conf /etc/supervisor/conf.d/

cd /tmp/spark
bash spark-sdk-dist/repair.sh
LATEST_RELEASE="$LATEST_RELEASE" WORKSPACE_DIR="$WORKSPACE_DIR" bash /tmp/spark/spark-sdk-dist/install-tools.sh services
cd /workspaces/spark-template

sudo chown node /var/run/
sudo chown -R node /var/log/

supervisord
supervisorctl reread
supervisorctl update

# Check if SNAPSHOT_SAS_URL was passed, if so run hydrate.sh
if [ -n "$SNAPSHOT_SAS_URL" ]; then
WORKSPACE_DIR="/workspaces/spark-template"
SAS_URI="$SNAPSHOT_SAS_URL" /usr/local/bin/hydrate.sh $WORKSPACE_DIR
fi

cd /tmp/spark
LATEST_RELEASE="$LATEST_RELEASE" WORKSPACE_DIR="$WORKSPACE_DIR" bash /tmp/spark/spark-sdk-dist/install-tools.sh sdk
cd /workspaces/spark-template

# Keep reflog commits "forever"
git config gc.reflogExpire 500.years.ago
git config gc.reflogExpireUnreachable 500.years.ago

sudo cp .devcontainer/spark.conf /etc/supervisor/conf.d/

sudo chown node /var/run/
sudo chown -R node /var/log/

supervisord
supervisorctl reread
supervisorctl update

# Set up post-commit hook and also run the build script to perform a one-time build for static preview
ln -fs /usr/local/bin/post-commit .git/hooks/post-commit
/usr/local/bin/static-preview-build.sh

cd /tmp/spark
LATEST_RELEASE="$LATEST_RELEASE" WORKSPACE_DIR="$WORKSPACE_DIR" bash /tmp/spark/spark-sdk-dist/install-tools.sh cli
cd /workspaces/spark-template
21 changes: 9 additions & 12 deletions .devcontainer/refreshTools.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,19 @@

set -e

echo "Checking for updates..."

WORKSPACE_DIR="/workspaces/spark-template"
LATEST_RELEASE=$(curl -s https://api.github.com/repos/github/spark-template/releases/latest)
echo "New version found. Downloading latest release."
RELEASE_ID=$(echo "$LATEST_RELEASE" | jq -r '.id')


TEMP_DIR=$(mktemp -d)
cd $TEMP_DIR
TEMP_DIR=/tmp/spark
rm -rf $TEMP_DIR
mkdir -p $TEMP_DIR

DOWNLOAD_URL=$(echo "$LATEST_RELEASE" | jq -r '.assets[0].url')
curl -L -o dist.zip -H "Accept: application/octet-stream" "$DOWNLOAD_URL"
curl -L -o "$TEMP_DIR/dist.zip" -H "Accept: application/octet-stream" "$DOWNLOAD_URL"

unzip -o dist.zip
rm dist.zip
DIST_DIR="spark-sdk-dist"
unzip -o "$TEMP_DIR/dist.zip" -d "$TEMP_DIR"
rm "$TEMP_DIR/dist.zip"

bash spark-sdk-dist/repair.sh
LATEST_RELEASE="$LATEST_RELEASE" DIST_DIR="$DIST_DIR" WORKSPACE_DIR="$WORKSPACE_DIR" bash spark-sdk-dist/install-tools.sh
rm -rf $TEMP_DIR
echo "$RELEASE_ID"
12 changes: 5 additions & 7 deletions .devcontainer/spark.conf
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,16 @@ logfile=/var/log/supervisord.log

[program:vite]
command=npm run dev -- --debug
priority=2
directory=/workspaces/spark-template
autostart=true
autorestart=true
stdout_logfile=/var/log/vite.out.log
stderr_logfile=/var/log/vite.err.log

[program:proxy]
command=/usr/local/bin/proxy.js
autostart=true
autorestart=true
stdout_logfile=/var/log/proxy.out.log
stderr_logfile=/var/log/proxy.err.log

[program:spark-server]
command=/usr/local/bin/spark-server
priority=1
autostart=true
autorestart=true
stdout_logfile=/var/log/spark-server.out.log
Expand All @@ -27,13 +22,15 @@ environment=LOG_FILE=/var/log/spark-server.log

[program:spark-designer]
command=/usr/local/bin/spark-designer
priority=4
autostart=true
autorestart=true
stdout_logfile=/var/log/spark-designer.out.log
stderr_logfile=/var/log/spark-designer.err.log

[program:spark-file-syncer]
command=/usr/local/bin/spark-file-syncer 13000
priority=3
directory=/workspaces/spark-template
autostart=true
autorestart=true
Expand All @@ -42,6 +39,7 @@ stderr_logfile=/var/log/spark-file-syncer.err.log

[program:spark-static-preview]
command=npm run preview
priority=5
directory=/workspaces/spark-template
autostart=true
autorestart=true
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,8 @@ dist-ssr
.env
**/agent-eval-report*
packages
pids
.file-manifest
.devcontainer/

.spark-workbench-id
Loading