Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Staging #380

Merged
merged 60 commits into from
Dec 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
a6f38fe
Added scratch gui package
pmalacho-mit Apr 1, 2024
80b3a6a
added vm
pmalacho-mit Apr 1, 2024
a5ba0de
Add pnpm
pmalacho-mit Apr 1, 2024
7a34807
preparing to bundle
pmalacho-mit Apr 1, 2024
ea6fd2d
changes to get things building
pmalacho-mit Apr 2, 2024
3f3f721
finalized necessary type changes
pmalacho-mit Apr 2, 2024
09d76c7
deleting packages folder
pmalacho-mit Apr 2, 2024
3a7129f
Merge branch 'dev-with-no-packages' into scratch-package-refactor
pmalacho-mit Apr 2, 2024
7de7b1d
working my way through it
pmalacho-mit Apr 2, 2024
512f6bb
updating scratch gui
pmalacho-mit Apr 5, 2024
2664f01
updating scratch-vm
pmalacho-mit May 17, 2024
3258fb7
adding lock and updates for scratch-gui
pmalacho-mit May 22, 2024
ed0eff0
readme edits
mayarajan3 May 22, 2024
f5f1040
updating extension readme
mayarajan3 May 22, 2024
260d1e3
Correcting workflows
pmalacho-mit May 22, 2024
be88f4c
upgraded to latest vm
pmalacho-mit May 22, 2024
011ca75
adding in pnpm setup step
pmalacho-mit May 22, 2024
7b3502d
split out vm declarations
pmalacho-mit May 22, 2024
982ecfc
add submodules true
pmalacho-mit May 22, 2024
6670ff6
attemptign to resolve default import error in textClassification
pmalacho-mit May 22, 2024
1971f35
likely resolved build issues (but at what cost)
pmalacho-mit May 22, 2024
df3045a
adding spaces
mayarajan3 May 22, 2024
b44ade1
path name?
mayarajan3 May 22, 2024
c7ec378
adding pnpm commands
mayarajan3 May 22, 2024
8c1f963
maybe resolved build error
pmalacho-mit May 22, 2024
8a03977
editing package.json and root package name
mayarajan3 May 23, 2024
008190f
changing package json template file
mayarajan3 May 23, 2024
c9e85e0
tagged template attempt
mayarajan3 May 23, 2024
15b815e
instance reporter
mayarajan3 May 23, 2024
d1be1dc
removing more types and cleanup?
mayarajan3 May 24, 2024
4e950d0
commands and minor improvement
mayarajan3 May 24, 2024
52d424f
changes
pmalacho-mit May 24, 2024
94c93e5
progress?
mayarajan3 May 24, 2024
586026e
adding mapping
mayarajan3 May 24, 2024
afdfb65
typing decorator implementation
pmalacho-mit May 24, 2024
6121ad8
Merge remote-tracking branch 'origin/tagged-template-block_make-use-o…
pmalacho-mit May 24, 2024
2eda943
Merge remote-tracking branch 'origin/scratch-package-refactor' into t…
pmalacho-mit Jun 18, 2024
5b09b69
not sure why I made these changes
pmalacho-mit Jun 18, 2024
e66be8b
type changes
pmalacho-mit Jun 18, 2024
f054523
figured out args issue
pmalacho-mit Jun 18, 2024
33e8641
Integrating multiple changes
pmalacho-mit Jun 18, 2024
5eb35cf
Updated simple example
pmalacho-mit Jun 21, 2024
42c6466
tagged tempalte working
pmalacho-mit Jun 21, 2024
d79473d
Merge pull request #362 from mitmedialab/tagged-template-block_finalize
pmalacho-mit Jun 21, 2024
4ed6014
Merge pull request #356 from mitmedialab/scratch-package-refactor-readme
pmalacho-mit Jun 21, 2024
ed0264a
Fix for bundling vm without common code
pmalacho-mit Jun 21, 2024
e9c2165
removed dead code
pmalacho-mit Jun 21, 2024
25d15e5
removing erroneous folder
pmalacho-mit Jun 21, 2024
6c13325
changes to complex example
pmalacho-mit Jun 21, 2024
8dde8e7
Adding icon picture for selfie segmentation
pmalacho-mit Jul 16, 2024
b5db77f
merging in dev
pmalacho-mit Jul 24, 2024
8e110f5
ran install
pmalacho-mit Jul 24, 2024
afde318
pulling in mayas documentation (thanks maya)
pmalacho-mit Jul 24, 2024
84948be
integrating music-creation
pmalacho-mit Jul 24, 2024
18592d6
updating to lastest
pmalacho-mit Jul 24, 2024
15aa5dd
Merge branch 'scratch-package-refactor-merge-music-creation' into sta…
pmalacho-mit Jul 25, 2024
55904c8
got mayas detection updates
pmalacho-mit Jul 25, 2024
fd6d6c5
Merge branch 'dev' into staging
pmalacho-mit Jul 25, 2024
c3137ab
updating all documentation
pmalacho-mit Jul 29, 2024
9f2e593
updating pnpm version on runners
pmalacho-mit Dec 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
File renamed without changes
File renamed without changes
13 changes: 9 additions & 4 deletions .github/workflows/build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,20 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.17.1]
node-version: [18]
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v3
with:
submodules: true
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: npm install, build, and test
run: npm run build
- uses: pnpm/action-setup@v4
with:
version: 9.1.2
- name: install & build
run: pnpm build
env:
CI: true
- name: Extract branch name
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/generate-extension-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,22 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.17.1]
node-version: [18]
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- uses: pnpm/action-setup@v4
with:
version: 9.1.2
- name: Initialize
run: npm run init
run: pnpm install
- name: Generate
run: npm run document:extensions
run: pnpm document:extensions
- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: 're-generate extension documentation\n\nskip-checks:true'
Expand Down
8 changes: 8 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[submodule "scratch-packages/scratch-gui"]
path = scratch-packages/scratch-gui
url = [email protected]:mitmedialab/prg-raise-playground-scratch-gui.git
branch = main
[submodule "scratch-packages/scratch-vm"]
path = scratch-packages/scratch-vm
url = [email protected]:mitmedialab/prg-raise-playground-scratch-vm.git
branch = main
3 changes: 3 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
include-workspace-root=true
shared-workspace-lockfile=false
shamefully-hoist=true
4 changes: 2 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"request": "launch",
"runtimeExecutable": "node",
"resolveSourceMapLocations": [
"${workspaceFolder}/packages/scratch-vm/**",
"${workspaceFolder}/scratch-packages/scratch-vm/**",
"!**/node_modules/**"
],
"runtimeArgs": [
Expand All @@ -18,7 +18,7 @@
"args": [
"scripts/transpile.ts"
],
"cwd": "${workspaceRoot}/packages/scratch-vm/",
"cwd": "${workspaceRoot}/scratch-packages/scratch-vm/",
"internalConsoleOptions": "openOnSessionStart",
"skipFiles": [
"<node_internals>/**",
Expand Down
92 changes: 0 additions & 92 deletions BACKGROUND.md

This file was deleted.

56 changes: 56 additions & 0 deletions CI-CD.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Continuous Integration & Deployment

If you followed the steps outlined in the README's [Making an Extension](./README.md#🔨-making-an-extension) section, you should have created a new branch off of the `dev` branch where you implemented your extension.

## Automatic Deployment to Temperorary URL

Whenever you [push]() on this new branch, a [github action]() will automatically deploy your extension to a URL corresponding to your branch name.

For example, if my branch is called `myNewExtension`, whenever I succesfully push up code on this branch, I should be able to see my changes at: https://playground.raise.mit.edu/myNewExtension/

> NOTE: The github action(s) that manages deployment can take anywhere from 10 - 30 minutes. View the status of actions in the repo's [Actions tab](https://github.com/mitmedialab/prg-extension-boilerplate/actions). In order for your site to be succesfully deployed, both an action titled with your commmit message and one after it titled ***pages build and deployment*** must complete succesfully.

Though this branch-specific URL can be very helpful for sharing your extension quickly, we **require** that you don't use this URL for _official_ purposes -- instead you should follow the instructions in [Integrating Your Extension into the main Branch](#integrating-your-extension-into-the-main-branch) if you want to share extension as part of a curricullum, to an outside organization, etc.

So this means you can use your branch-specific URL to share your extension with colleagues, get feedback, and quickly iterate on your extension. However, if you want to share your extension externally, especially with students, it must first be integrated into the `main` branch, and then you can direct them to: https://playground.raise.mit.edu/main/

## Integrating Your Extension into the `main` Branch

The extensions pushed into the `main` branch should represent all of the extensions PRG officially supports, and thus what PRG is committed to maintaining now and into the future.

Thus, you should only _officially_ share extensions via the `main` branch and corresponding [main site](https://playground.raise.mit.edu/main/) (https://playground.raise.mit.edu/main/). In other words, if an outside party (student, teacher, organization, etc.) reports a bug about an extension (or the platform), they should be doing so based on their usage of the main site -- not a branch-specific site that no other team members know about.

By adhering to this practice, as well as a regimented process for [merging](https://git-scm.com/docs/git-merge) changes to the `dev` and `main` branches, we can ensure both the best experinece for our users and the least amount of headache for us as developers / maintainers.

Here's the process for getting your extension into the `main` branch and deployed to https://playground.raise.mit.edu/main/:

1. Get your development branch current with the `dev` branch
```bash
cd prg-extension-boilerplate/ # Change directory (cd) to prg-extension-boilerplate/, if not already there

git checkout <your branch name> # Checkout your brnahc, if not already checked out

git pull # Fetch the latest changes from all remote branches.
# NOTE: using `git fetch` would do the same, but it's yet another git command to remember...

git merge origin/dev # Merge the latest changes from the remote (i.e. origin) dev branch into your development branch
```
2. Create a Pull Request (PR) from your branch into `dev`
1. Go to the [Pull Requests tab](https://github.com/mitmedialab/prg-extension-boilerplate/pulls)
2. Click **New Pull Request**
3. Set _base_ to `dev` and _compare_ to the name of your branch
- The flow should look like: `dev` <-- `<your branch>`
4. Select **Create Pull Request**
- Do this enough times so that the pull request is actually created -- github's UI seems to be a little redunant
3. Set [pmalacho-mit](https://github.com/pmalacho-mit) (Parker Malachowsky) as the reviewer of the PR
- NOTE: If anyone's interested in being a reviewer please also talk to Parker and he will add you above.
4. Work with your reviewer to get your PR approved, and then **YOUR REVIEWER** will merge your PR and your changes will go into `dev` 🎉🎉🎉. In this way, you and the reviewer are equally responsible for keeping the `dev` branch bug-free.
- Your reviewer will review your code, test your extension, and leave comments for you to respond to.
- You can speed up the review process by doing the following:
- Writing readable code and leaving necessary (but [_only necessary_](https://levelup.gitconnected.com/please-dont-comment-your-code-d0830785bdc9)) comments
- Use [JSDoc comments](https://jsdoc.app/about-getting-started.html) where possible (e.g. on functions, classes, method parameters, etc.)
- [Writing tests for your extension]() (coming soon)
- [Creating tutorials for your extension]() (coming soon)
5. Once your code is in `dev`, your work is done! The code base's maintainer (Parker, at this time) will then semiweekly merge the `dev` branch into the `main` branch.
6. Once Parker has notified you that your changes are live, you can direct your audience to the deployed `main` branch: https://playground.raise.mit.edu/main/
- Check out the [URL Parameters]() section to see how you can customize this link to automatically add your extension, tutorials, demo project, etc. when the page is loaded.
30 changes: 0 additions & 30 deletions DEVELOPMENT.md

This file was deleted.

Loading
Loading