Now that you have a git repository that will behave as a suede dependency, please perform the following tasks to complete the setup:
- Set Actions permissions (⚙️ Settings >
▶️ Actions > General > Workflow permissions)
- Read and write permissions
- Allow GitHub Actions to create and approve pull requests
- OPTIONAL (RECOMMENDED): Configure pull request head branches to automatically delete (⚙️ Settings > ⚙️ General > Pull Requests)
- This is helpful to keep the branch list clean, as one of the included github actions automatically creates "chore" pull requests
- Dispatch initialization workflow (
▶️ Actions > Initialization procedure > Run Workflow)
- The action will:
- On the
releasebranch, clone the suedecoredependency into.suede/core(from thedependency/release/corebranch) and push - On the
mainbranch, clone the suedecoredependency into.suede/core(from thedependency/main/corebranch) and push - Clone a subrepo of the
releasebranch into the./releasefolder within themainbranch (so that changes within the./releasefolder of themainbranch can be automatically synced to thereleasebranch via .github/workflows/subrepo-push-release.yml) - Replaces the content of this README with specifics around installing this repository as a subrepo dependency
- 💥SELF-DESTRUCT💥 (meaning it will delete .github/workflows/initialize.yml)
- On the
[!NOTE] Why does init clone
corein instead of the template shipping it directly? So that each dependency's.gitrepofile points at a real commit of its actual source repository — a baked-in copy would have no valid subrepo link to pull/push against. The GitHub Actions workflow files (under.github/workflows), by contrast, are baked into the template: GitHub refuses to let an action create or modify workflow files using the defaultGITHUB_TOKEN(it would require a higher-privileged PAT, which this setup intentionally avoids). - The action will:
- OPTIONAL: Install a devcontainer
- Initialization deliberately does not set one up — a dependency's development environment is its own choice, not something the library imposes. If you want one, install devcontainers-suede yourself:
bash <(curl -fsSL https://suede.sh/install/release) --repo pmalacho-mit/devcontainers-suede --destination .suede/devcontainers-suede bash .suede/devcontainers-suede/install.sh <profile>.json
- Initialization deliberately does not set one up — a dependency's development environment is its own choice, not something the library imposes. If you want one, install devcontainers-suede yourself: