Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
7 changes: 7 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

# Install CodeQL CLI
RUN curl -Ls -o /tmp/codeql.zip https://github.com/github/codeql-cli-binaries/releases/latest/download/codeql-linux64.zip \
&& unzip /tmp/codeql.zip -d /opt \
&& mv /opt/codeql /opt/codeql-cli \
&& ln -s /opt/codeql-cli/codeql /usr/local/bin/codeql \
&& rm /tmp/codeql.zip

# Set working directory
WORKDIR /workspaces/seclab-taskflow-agent

Expand Down
6 changes: 3 additions & 3 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance",
"ms-python.vscode-python-envs",
"redhat.vscode-yaml",
"GitHub.copilot",
"GitHub.copilot-chat",
"ms-azuretools.vscode-docker"
],
"settings": {
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"python.terminal.activateEnvironment": true
"python.useEnvironmentsExtension": true
}
}
},
Expand All @@ -39,7 +39,7 @@
// Use 'postCreateCommand' to run commands after the container is created
"postCreateCommand": "bash .devcontainer/post-create.sh",
// Use 'postStartCommand' to run commands when the container starts
// "postStartCommand": "",
"postAttachCommand": "bash .devcontainer/post-attach.sh",
// Environment variables
"containerEnv": {
"PYTHONUNBUFFERED": "1"
Expand Down
15 changes: 15 additions & 0 deletions .devcontainer/post-attach.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash
set -e

# If running in Codespaces, check for necessary secrets and print error if missing
if [ -v CODESPACES ]; then
echo "🔐 Running in Codespaces - injecting secrets from Codespaces settings..."
if [ ! -v COPILOT_TOKEN ]; then
echo "Running in Codespaces - please add COPILOT_TOKEN to your Codespaces secrets"
fi
if [ ! -v GITHUB_PERSONAL_ACCESS_TOKEN ]; then
echo "Running in Codespaces - please add GITHUB_PERSONAL_ACCESS_TOKEN to your Codespaces secrets"
fi
fi

echo "💡 Remember to activate the virtual environment: source .venv/bin/activate"
36 changes: 10 additions & 26 deletions .devcontainer/post-create.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,37 +14,21 @@ python -m pip install --upgrade pip
python -m pip install hatch
hatch build

# If running in Codespaces, check for necessary secrets and print error if missing
if [ -n "$CODESPACES" ]; then
echo "🔐 Running in Codespaces - injecting secrets from Codespaces settings..."
if [ -n "$COPILOT_TOKEN" ]; then
echo "Running in Codespaces - please add COPILOT_TOKEN to your Codespaces secrets"
fi
if [ -n "$GITHUB_AUTH_HEADER" ]; then
echo "Running in Codespaces - please add GITHUB_AUTH_HEADER to your Codespaces secrets"
fi
fi
# Install this package from local directory.
pip install -e .

# Create logs directory if it doesn't exist
mkdir -p logs

# Create optional data directories
mkdir -p data

# Create .env file if it doesn't exist
if [ ! -f .env ]; then
echo "📝 Creating .env template..."
cat > .env << 'EOF'

# Optional: CodeQL database base path
CODEQL_DBS_BASE_PATH=/workspaces/seclab-taskflow-agent/my_data

EOF
echo "# Optional: CodeQL database base path" >> .env
echo "CODEQL_DBS_BASE_PATH=$(realpath data)" >> .env
echo "⚠️ Please configure the enviroment or your .env file with required tokens!"
fi

# Create logs directory if it doesn't exist
mkdir -p logs

# Create optional data directories
mkdir -p my_data

echo "✅ Development environment setup complete!"
echo ""
echo "📋 Next steps:"
echo "Configure your environment with COPILOT_TOKEN and GITHUB_AUTH_HEADER as needed."
echo "💡 Remember to activate the virtual environment: source .venv/bin/activate"