|
|
@@ -0,0 +1,52 @@
|
|
|
+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:
|
|
|
+ # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
|
|
|
+ copilot-setup-steps:
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+
|
|
|
+ # Set the permissions to the lowest permissions possible needed for your steps.
|
|
|
+ # Copilot will be given its own token for its operations.
|
|
|
+ permissions:
|
|
|
+ # If you want to clone the repository as part of your setup steps, for example to install dependencies, you'll need the `contents: read` permission. If you don't clone the repository in your setup steps, Copilot will do this for you automatically after the steps complete.
|
|
|
+ contents: read
|
|
|
+
|
|
|
+ # You can define any steps you want, and they will run before the agent starts.
|
|
|
+ # If you do not check out your code, Copilot will do this for you.
|
|
|
+ steps:
|
|
|
+ - name: Checkout code
|
|
|
+ uses: actions/checkout@v4
|
|
|
+
|
|
|
+ - name: ccache
|
|
|
+ uses: hendrikmuhs/ccache-action@v1.2.16
|
|
|
+ with:
|
|
|
+ key: copilot-setup-steps
|
|
|
+ evict-old-files: 1d
|
|
|
+
|
|
|
+ - name: Dependencies
|
|
|
+ id: depends
|
|
|
+ run: |
|
|
|
+ sudo apt-get update
|
|
|
+ sudo apt-get install build-essential libcurl4-openssl-dev
|
|
|
+
|
|
|
+ - name: Set up Python
|
|
|
+ uses: actions/setup-python@v5
|
|
|
+ with:
|
|
|
+ python-version: '3.11'
|
|
|
+
|
|
|
+ - name: Install Python dependencies
|
|
|
+ run: |
|
|
|
+ python3 -m venv .venv
|
|
|
+ .venv/bin/activate
|
|
|
+ pip install -r requirements/requirements-all.txt
|