You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+46-24Lines changed: 46 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,34 +3,21 @@
3
3
Emscripten-forge is a conda package repository for building packages targeting the `emscripten-wasm32` platform (WebAssembly). The repository contains package recipes and uses `pixi` for environment management and `rattler-build` for package building.
4
4
5
5
6
-
### Repository Structure
7
-
```
8
-
recipes/
9
-
├── recipes/
10
-
├── recipes_emscripten/ # this is where the recipes need to go
11
-
...
12
-
```
13
-
14
-
### Key Directories and Files
15
-
-`recipes/recipes_emscripten/` - All WebAssembly package recipes (283+ packages)
16
-
6
+
## Add New Recipes
17
7
18
-
### Package Types and Examples
19
-
The repository supports multiple package types:
8
+
To add new recipes follow the following steps:
20
9
21
-
**Python packages**: zarr, numpy, scipy, matplotlib, pandas, etc.
22
-
- Use `cross-python_${{ target_platform }}` build requirement
23
-
- Example: `recipes/recipes_emscripten/zarr/`
10
+
* check if the recipe needs building or is a noarch recipes. We **do not add noarch recipes**
11
+
* check if the recipe is already present in the repository. If it is, update the existing recipe as needed.
12
+
* if not, create a new directory for the recipe under `recipes/recipes_emscripten/`
13
+
* add a `recipe.yaml` and file with the necessary metadata and build instructions
14
+
* add a `build.sh` script to handle the build process if its more than a one-liner
15
+
* include any additional files (e.g., patches, scripts) as needed
16
+
* test the recipe using the appropriate testing framework
24
17
25
-
**C/C++ packages**: boost-cpp, arrow-cpp, opencv, etc.
26
-
- Use `emcmake` instead of `cmake`, `emmake` instead of `make`
# Automatically run the setup steps when they are changed to allow for easy validation, and
4
+
# allow manual testing through the repository's "Actions" tab
5
+
on:
6
+
workflow_dispatch:
7
+
push:
8
+
paths:
9
+
- .github/workflows/copilot-setup-steps.yml
10
+
pull_request:
11
+
paths:
12
+
- .github/workflows/copilot-setup-steps.yml
13
+
14
+
jobs:
15
+
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
16
+
copilot-setup-steps:
17
+
runs-on: ubuntu-latest
18
+
19
+
# Set the permissions to the lowest permissions possible needed for your steps.
20
+
# Copilot will be given its own token for its operations.
21
+
permissions:
22
+
# 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.
23
+
contents: read
24
+
25
+
# You can define any steps you want, and they will run before the agent starts.
26
+
# If you do not check out your code, Copilot will do this for you.
0 commit comments