Just an issue to coordinate releases!
Hi @HarshKhandeparkar and @harshithpabbati i believe you two are able to prepare releases for publication on the beta site. Would you like to do so and then I can push to the main sequencer.publiclab.org if all goes well? Thank you!
And if you look at https://github.com/publiclab/image-sequencer/pulse/monthly and https://github.com/publiclab/image-sequencer/blame/main/package.json#L3, it's been 13 months since our last release at v3.5.1 -- i think it's time to put out a new release! v3.6.0 perhaps?
Honestly it's been the entire previous GSoC with a ton of new features there. We may just want to release a v4, esp since SO much has changed. Many new systems including GPU acceleration, wasm, a ton of new modules, etc.
Yeah, I did forget to push in the last few months. Can we set up a GitHub action for this? The script is at https://github.com/HarshKhandeparkar/Update-is
Just pushed to beta btw.
The current beta is hosted at Harshit's fork, I am the only one who has access as of now. Can bots push to branches?
Actually, if publiclab has a spare server, someone could set up a cron job that checks for updates every hour or something and pushes to the beta if something new has been committed.
Well, i wonder if we could just point at the latest GItPod build instead? That's already a working system to build a demo. What do you think?
I guess it's already set up to prebuild environments from all branches: https://github.com/publiclab/image-sequencer/blob/main/.gitpod.yml#L12
Ah, cool - so, you just add any Github URL to: https://gitpod.io/# - so, https://gitpod.io/#https://github.com/publiclab/image-sequencer/ should build the main branch.
I think that worked? That is basically good enough to use as a "live" beta, no? Is that the URL (or at least the branch) that the badge in the README goes to?
IG it's good ¯\_(ツ)_/¯. Will it have an editor along with it? It is not the intended way of doing it though... gh-pages are generally preferred because that is how it will be finally deployed.
Why do we have a UI? :joy:
https://github.com/HarshKhandeparkar/image-sequencer-ui still exists although no one is helping me with it.
Thanks Harsh. Now that we have Jest tests for the UI I think we can more readily test image-sequencer-ui against the expected behaviors. But, we do need to codify what we expect a UI to be able to do! Does image-sequencer-ui have tests or does it match the CSS selectors of our UI tests closely enough that it can pass our Jest tests?
And, let's move this convo to another issue so we can focus on release coordination here, is that OK? Thank you! ❤️
Speaking of which, I've opened a PR for 3.6.0: https://github.com/publiclab/image-sequencer/pull/1695 🎉
Should we have included the February bug stomps too?
Yes, let's do!
Hi @jywarren @HarshKhandeparkar
Regarding beta site I added a github action so that it will update the site for every 6hrs
That's awesome @harshithpabbati !!! Can I see the code for it? I wonder if we can modify it to update the main demo upon merging to a specific branch?
It's here? https://github.com/harshithpabbati/image-sequencer/blob/main/.github/workflows/upstream.yml
Yes @jywarren
Great, thank you. What do you think of this? https://github.com/publiclab/image-sequencer/pull/1703
I would like to suggest a workflow:
1) Decide some milestones (PRs and issues) for the next version number and decide a date.
2) Keep track of these milestones via a project so that we can easily write the changelog.
3) When it is time to publish, and the maintainers approve one person (I can do this) should do the following:
stable branch.4) We could set up github actions to watch for changes to the stable branch and push to npm as well as gh-pages.
@publiclab/is-maintainers
Ah, ok let's merge our workflow discussions -sorry! Here was my suggestion for a release checklist, to be run from an issue template for each release:
examples/sw.js (ex #1734) and package.json (ex #1695)main branch (freeze merges to main branch)/dist/ files to stable (merges to main branch can resume for next release)npmgithub-pages demo (with https://github.com/publiclab/image-sequencer/pull/1703 eventually)(some of these are in the wrong order - like, dist files are done on stable only, right? and let's note which are clean ff merges vs. merge commits)
Noting we're now in this process in https://github.com/publiclab/image-sequencer/pull/1695 for v3.6.0.
I like the idea of using milestones, great thought! Added that, above.
https://github.com/publiclab/image-sequencer/pull/1734 This also needs to be on the checklist.
I added that, plus a link to the 3.6.1 project for any later work.
Do i have the order right at "merge to stable + resume merges to main branch" and "create a release" -- or do we wait until the release is made to resume merging to main?
Actually, we don't have to wait for anything. We can create a tag from any commit. But we can stop for a few minutes, I will at least push to stable :) I will make the tag and the release later.
Pushed to stable, merges to main can resume :)
I'll create the tag soon, it can be published to gh-pages in the meanwhile.
awesome! Where's our gh-pages checklist? Doesn't @harshithpabbati often do this for beta? Thank you!!!
I think he has a GitHub action set up so we(or even he) needn't interfere.

Yes, the beta has been updated :-)
@jywarren published v3.6.0! There are a lot of changes, so can someone confirm?
Ty.
I can also publish to gh-pages if needed, although npm publish will have to be done by you. Should we try a Github action for that too? There are plug and play default ones for that I suppose.
cc: @publiclab/is-maintainers
Interestingly, even though the tag was created from the stable branch, the dist was not copied. Is that an issue?
I have added the dist to the GitHub release.
Well, the old tags don't have the dist either ¯\_(ツ)_/¯
Hmm, when we publish to NPM we will def. want the /dist/ files. But otherwise it's not that important, i think?
I don't think so... People can always get them from stable or build them.
I don't think anyone will try to get the dist of an older version so tags may not have them but stable will always have the dist. I have also added the dist to the release entry this time.
yes and NPM is a reliable source of compiled, ready-to-use dist files for any published version. 👍
OK great so i should npm publish from the tag https://github.com/publiclab/image-sequencer/tree/v3.6.0 right?
Re: gh-pages and a github action, that would be great! I'll publish now from the v3.6.0 tag.
Published to npm! https://www.npmjs.com/package/image-sequencer
and tweeted 😄 https://twitter.com/jywarren/status/1319393210205196291
OK awesome, just the main demo to update now. @HarshKhandeparkar you have a script for that? Is it similar to https://github.com/publiclab/image-sequencer/issues/857 or the same? Thanks!
I don't have a script for the main demo specifically but my script HarshKhandeparkar/Update-is needs just one change ie changing the name of the repo to publiclab/is instead of harshith/is. Or I can make it take input from the terminal. And no, I didn't update the main demo yet, should I?
If you could update the main demo that'd be great - and yes, why don't we include your script in a folder like /scripts/ and then it'll be a bit more cohesive? Thanks, @HarshKhandeparkar, you're on fire!
One caveat: It is a BASH script so it might only work in Linux that too only the distros which use the bash shell. I am not sure about other shells such as KSH or ZSH. Can anyone who uses Mac confirm whether it works on a Mac? It most probably will.
That's fine, though, let's just add that in the comments at the top of the script and we can track compatibility in a separate issue. Thank you!!!
Just opened a PR with the script :)
One caveat: It is a BASH script so it might only work in Linux that too only the distros which use the bash shell. I am not sure about other shells such as KSH or ZSH. Can anyone who uses Mac confirm whether it works on a Mac? It most probably will.
Yes @HarshKhandeparkar, it works on Mac
Great! Can you also review the PR? And btw, please update your script too since there were a few dependencies which were not added :)
@jywarren Apparently I don't have perms to push to gh-pages. I waited for almost 30min to git clone (Github downloads are unexpectedly slow at 100KiB/s) and then build took 15min and the rest... Just to see this message :joy:

Ack! oops, ok, looking now re: gh-pages, thanks!
Phew! Done!

OK - i did it from inside GitPod, and i allowed force pushes on gh-pages, which was the missing piece! Only one more checklist item left. Do we like the checklist? Shall we make it into an issue template then?
Issue template will be awesome!
OK, made that in https://github.com/publiclab/image-sequencer/commit/10f27394358f3afe889765d4555a55b1f98e06f0 -- great!
Done!

Shall we close this? I guess so!!!
The issue template refers to this discussion, why is that?
to leave a good documentation trail, but also because we actually ran through the process for the first time here and it's good to be able to refer to that esp the next few times we do it!
Ah ok... Let's close this then!