summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2025-07-01 20:45:02 -0700
committerGitHub <noreply@github.com>2025-07-02 03:45:02 +0000
commit415adcfd774d30d90e62d15bb7b814464f6930a6 (patch)
tree1c4878e36fe16b63106b9eff045e922ed6f67790
parentc701ec00ccce6dfa8094d6550ce2db929fc8cefe (diff)
Add copilot environment configuration. (#7586)
* Add copilot environment configuration. * Add instructions. * format code --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
-rw-r--r--.github/copilot-instructions.md22
-rw-r--r--.github/workflows/copilot-setup-steps.yml32
2 files changed, 54 insertions, 0 deletions
diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md
new file mode 100644
index 000000000..17523888c
--- /dev/null
+++ b/.github/copilot-instructions.md
@@ -0,0 +1,22 @@
+## Configure CMake and Build
+
+To configure cmake, run `cmake --preset default --fresh`.
+To build, run `cmake --workflow --preset debug` or `cmake --workflow --preset release`.
+
+## Formatting
+
+Your PR needs to be formatted according to our coding style.
+Run `./extras/formatting.sh` script to format your changes before creating a PR.
+
+## Labeling your PR
+
+All PRs needs to be labeled as either "pr: non-breaking" or "pr: breaking".
+Label your PR as "pr: breaking" if you are introducing public API changes that breaks ABI compabibility,
+or you are introducing changes to the Slang language that will cause the compiler to error out on existing Slang code.
+It is rare for a PR to be a breaking change.
+
+## Testing
+
+Your PR should include a regression test for the bug you are fixing.
+Normally, these tests present as a `.slang` file under `tests/` directory.
+You will need to run your test with `slang-test tests/path/to/your-new-test.slang`. \ No newline at end of file
diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml
new file mode 100644
index 000000000..fe47a7778
--- /dev/null
+++ b/.github/workflows/copilot-setup-steps.yml
@@ -0,0 +1,32 @@
+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:
+ runs-on: ubuntu-latest
+
+ permissions:
+ contents: read
+ pull-requests: write
+ checks: write
+
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ submodules: "recursive"
+ fetch-depth: "2"
+ - uses: ./.github/actions/format-setup
+ - name: setup environment
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y libx11-dev