Skip to content

merge

merge #144

name: Copilot Setup Steps
# Automatically run the setup steps when they are changed to allow for easy validation, and
# allow manual testing through the repository's "Actions" tab
on:
workflow_dispatch:
push:
paths:
- .github/workflows/copilot-setup-steps.yml
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml
jobs:
copilot-setup-steps:
name: Setup Development Environment
runs-on: vscode-large-runners
steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
lfs: true
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version-file: .nvmrc
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: '3.12'
architecture: 'x64'
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: '10.0'
- name: Install setuptools
run: pip install setuptools
- name: Restore build cache
uses: actions/cache/restore@v4
id: build-cache
with:
key: build_cache-${{ hashFiles('build/.cachesalt', 'package-lock.json') }}
path: .build/build_cache
- name: Extract build cache
if: steps.build-cache.outputs.cache-hit == 'true'
run: tar -xzf .build/build_cache/cache.tgz
- name: Install dependencies
if: steps.build-cache.outputs.cache-hit != 'true'
run: npm ci
- name: Create build cache archive
if: steps.build-cache.outputs.cache-hit != 'true'
run: |
set -e
mkdir -p .build
node build/listBuildCacheFiles.js .build/build_cache_list.txt
mkdir -p .build/build_cache
tar -czf .build/build_cache/cache.tgz --files-from .build/build_cache_list.txt
- name: Verify installation
run: |
node --version
npm --version
python --version
dotnet --version