diff --git a/.github/ISSUE_TEMPLATE/meeting-agenda.md b/.github/ISSUE_TEMPLATE/meeting-agenda.md new file mode 100644 index 0000000..8608182 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/meeting-agenda.md @@ -0,0 +1,51 @@ +## Date/Time + +| Timezone | Date/Time | +|----------|-----------| +<%= [ + 'America/Los_Angeles', + 'America/Denver', + 'America/Chicago', + 'America/New_York', + 'Europe/London', + 'Europe/Amsterdam', + 'Europe/Moscow', + 'Asia/Kolkata', + 'Asia/Shanghai', + 'Asia/Tokyo', + 'Australia/Sydney' +].map((zone) => { + return `| ${zone} | ${date.setZone(zone).toFormat('EEE dd-MMM-yyyy HH:mm (hh:mm a)')} |` +}).join('\n') %> + +Or in your local time: +* https://www.timeanddate.com/worldclock/?iso=<%= date.toFormat("yyyy-MM-dd'T'HH:mm:ss") %> + +## Agenda + +Extracted from **<%= agendaLabel %>** labelled issues and pull requests from **<%= owner %>/<%= repo %>** prior to the meeting. + +<%= agendaIssues.map((i) => { + return `* ${i.html_url}` +}).join('\n') %> + +## Invited + +- Webpack TSC (@webpack/tsc) + +### Observers/Guests + +This meeting is open for anyone who wants to attend. Reminder to follow our [Code of Conduct](https://github.com/webpack/webpack/blob/main/CODE_OF_CONDUCT.md). + +### Joining the meeting + +* Join [Webpack's Discord server](https://discord.gg/5sxFZPdx2k) then the #tsc channel + +--- + +Please use the following emoji reactions in this post to indicate your +availability. + +- πŸ‘ - Attending +- πŸ‘Ž - Not attending +- πŸ˜• - Not sure yet diff --git a/.github/workflows/generate-meeting-agendas.yml b/.github/workflows/generate-meeting-agendas.yml new file mode 100644 index 0000000..84f4f90 --- /dev/null +++ b/.github/workflows/generate-meeting-agendas.yml @@ -0,0 +1,23 @@ +name: Generate TSC Meeting Agenda +on: + pull_request: + push: + branches: + - master + schedule: + - cron: '0 0 * * *' +jobs: + meeting: + runs-on: ubuntu-latest + steps: + - name: Webpack TSC Meeting Agenda + uses: 'pkgjs/meet@v0' + with: + issueTitle: 'TSC Meeting <%= date.toFormat("dd-MMMM-yyyy") %>' + token: ${{ secrets.GITHUB_TOKEN }} + orgs: webpack,webpack-contrib + agendaLabel: 'tsc-agenda' + meetingLabels: 'meeting' + schedules: '2025-05-12T17:00:00.0Z/P2W' + createWithin: 'P1W' + issueTemplate: 'meeting-agenda.md' diff --git a/.github/workflows/generate-transcript.yaml b/.github/workflows/generate-transcript.yaml new file mode 100644 index 0000000..abb61a2 --- /dev/null +++ b/.github/workflows/generate-transcript.yaml @@ -0,0 +1,70 @@ +name: Generate TSC Meeting Transcript + +on: + issues: + types: [closed] + +jobs: + generate-trancript: + runs-on: ubuntu-latest + + if: contains(github.event.issue.labels.*.name, 'tsc meeting') + + env: + TRANSCRIPT_GENERATED: false + + steps: + - uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + cache: 'npm' + + - name: Cache Node.js modules + uses: actions/cache@v3 + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- + + - name: Install dependencies + run: npm install + + - name: Generate transcript + run: npm run generate:transcript + env: + TOKEN: ${{ secrets.DISCORD_BOT_TOKEN }} + ID: ${{ secrets.DISCORD_CHANNEL_ID }} + ISSUE_TITLE: ${{ github.event.issue.title }} + + - name: Configure Git identity + run: | + git config user.email "webpack[bot]@users.noreply.github.com" + git config user.name "Webpack Bot" + + - name: Commit generated transcript (if changed) + run: | + if [ -n "$(git status --porcelain)" ]; then + echo "Files changed." + git commit -a -m 'Add ${{ github.event.issue.title }} transcript' + echo "TRANSCRIPT_GENERATED=true" >> $GITHUB_ENV + fi + + - name: Create Pull Request + if: env.TRANSCRIPT_GENERATED == 'true' + uses: peter-evans/create-pull-request@v3 + with: + commit-message: Add ${{ github.event.issue.title }} transcript + title: Add ${{ github.event.issue.title }} transcript + branch: generate-meeting-transcript + branch-suffix: timestamp + author: Webpack Bot + committer: Webpack Bot + body: | + Add ${{ github.event.issue.title }} transcript. + + This PR is autogenerated by the "Generate Transcript" GitHub Action. + env: + GH_TOKEN: ${{ secrets.WEBPACK_GITHUB_BOT_TOKEN }} diff --git a/meetings/28_04_2025.md b/meetings/28_04_2025.md deleted file mode 100644 index 1fb4268..0000000 --- a/meetings/28_04_2025.md +++ /dev/null @@ -1,105 +0,0 @@ -# Webpack TSC meeting \#1 \- Mon 28th April 2025 - -# Present - -1. Even Stensberg ([https://twitter.com/evenstensberg](https://twitter.com/evenstensberg)) -2. Nitin Kumar ([https://x.com/snitin315](https://x.com/snitin315) ) -3. Claudio Wunder ([https://github.com/ovflowd](https://github.com/ovflowd)) -4. Sean Larkin ([https://github.com/thelarkinn](https://github.com/thelarkinn)) -5. Alexander Akait ([https://github.com/aleksander-akait](https://github.com/aleksander-akait)) - -# Agenda - -First TSC meeting will cover how we manage the TSC, meeting notes and in general introduction to the new governance model. Some parts like gsoc discussion will be private. A preliminary agenda below: - -1. Changing meeting platform (public) -2. Information of how meetings will be done (public) -3. Google Summer of code (private) -4. Meeting repository \+ meeting administration (public/private) -5. Standardize payout report dates and process. (private) -6. Working groups (public) -7. Roadmapping (public) -8. Meeting Transcript Generator \+ Meeting Agenda Bot - 1. [https://github.com/eslint/tsc-meetings/blob/main/scripts/generate-transcript.js](https://github.com/eslint/tsc-meetings/blob/main/scripts/generate-transcript.js) - 1. Allows us generate transcripts of meetings out of Discord - 2. Source package: [https://github.com/kaicataldo/discord-transcript-generator](https://github.com/kaicataldo/discord-transcript-generator) - 3. Executed by this workflow: [https://github.com/eslint/tsc-meetings/blob/main/.github/workflows/generate-transcript.yml](https://github.com/eslint/tsc-meetings/blob/main/.github/workflows/generate-transcript.yml) - 2. [https://github.com/nodejs/create-node-meeting-artifacts](https://github.com/nodejs/create-node-meeting-artifacts) - 1. This currently runs under Michael Dawson’s local machine, and needs to be converted into GHA - 2. Example of generated agenda: [https://github.com/openjs-foundation/cross-project-council/issues/1351](https://github.com/openjs-foundation/cross-project-council/issues/1351) - -## - -## - -## - -## \#1 \- Changing meeting platform - -Concerns raised around the current meeting platform, due to being inaccessible to some of the TSC members. Nitin raised that this information (of where TSC meetings happen) should also be published within the Webpack website. - -## \#2 \- Information on how meetings will be done - -Biweekly meetings, agenda set the week before each meeting. Sean suggests that we create a discussion thread on github about each meeting and we get feedback, if any. - -## \#3 \- Google Summer of Code - -Private topic - -## \# 4 Meeting repository \+ meeting administration - -We use the webpack/tsc for meeting notes, meeting invites and agenda will be issued as tickets in the repository. For this implementation we go through that in \#8. - -## \# 5 Standardize payout report dates and process. - -Private topic - -## \# 6 Working groups - -Even: Working Groups will let us partition work done on different parts of the org, and we can have β€œlocal” roadmaps for each working group. The TSC can then have β€œhigher” roadmapping goals that are implemented by each WG. - -Nitin: We dont have a lot of contributors, so Alex and me can steer this work. We can create WG for repositories later when we get more contributors - -Even: Trying to create a more broad WG for webpack initially, like working groups for core or infra. - -Nitin: TSC should have publish privileges - -Even: Agreed, but as WGs are established they should have scoped access. Nitin agrees. - -Alex: No input all good - -Even: Roadmapping and WG are related so we continue - - -## \# 7 Roadmapping - -Even: Roadmapping is a core function of the tsc and will impact how webpack is maintained. -Nitin: We use [https://github.com/orgs/webpack/projects/4](https://github.com/orgs/webpack/projects/4) but not sure if actively maintained. -Alex: We can discuss our roadmapping in tsc meetings -Even: Kanban board is just for webpack core, we should have a larger roadmap that covers the org -Nitin: Eslint has a board for the entire org -Even: Thinks this is good -Even: OKRs are a bit out of scope, but github milestones are a good way to approach this problem -Nitin and Even discuss milestones to see if it is a good fit. A large portion of the milestoning will depend on webpack core and not independent releases -Nitin: **Proposes github projects instead** -Even: good idea -Sean: Agrees to the github projects alternative -Even: Interesting section of our maintenance work because Working groups and local github projects for each repo would do good. -Alex: Positive to the approach, but might be irrelevant if there's too few contributors -Nitin: **Need to automate releasing because we do it manually now** -*Nitin will look into automated releases* -Even: We will create a larger WG and github projects for those. - -Alex: **One board for all main tasks on webpack (Nitin will work on this)** - -## \# 8 Meeting Transcript Generator \+ Meeting Agenda Bot - -Claudio will look at automating the meeting notes on google docs to export them into our github repository (tsc) that will consist of all meeting notes. Even will give privileges to Claudio for him to finish this task. Even and Claudio will try to implement some of the infrastructure that the Cross Project Council has for webpack to make meeting generation, invites and similar easier for the webpack TSC. - -# Summary - -- Nitin will send PR to update meeting platform -- Nitin will look into automated releases -- Claudio and Even will look into meeting admin -- Claudio and Even will add meeting notes to correct repo -- Claudio, Even, Alex, Nitin will add points (and doc) to discuss in next TSC meeting \ No newline at end of file diff --git a/notes/2025/2025-04-28-transcript.md b/notes/2025/2025-04-28-transcript.md new file mode 100644 index 0000000..cbef380 --- /dev/null +++ b/notes/2025/2025-04-28-transcript.md @@ -0,0 +1,602 @@ +# 04/28/2025 Webpack TSC Meeting Transcript + +**evenstensberg:** [Redacted] + +**evenstensberg:** So we will wait about 15-20mins. Grab a coffee meanwhile + +**snitin315:** Sure + +**snitin315:** What’s agenda today? + +**alexander.akait:** I am here, but want to say - it can be unstable, so don’t lose me if I don’t answer immediately + +**evenstensberg:** Introductory. So it’s about how these meetings will go, admin stuff and roadmap creation + +- πŸ‘ @snitin315, @alexander.akait + +**evenstensberg:** It’s important for us that Claudio joins. He’s tasks are very much linked to how Webpack communicates with external orgs and also he’s good on meeting recording/repo sync with meeting invites et.al + +**evenstensberg:** I'm creating a google docs atm + +**evenstensberg:** You should have gotten an invite now + +**snitin315:** Yup, got it + +**evenstensberg:** @wunderacle you here? + +**wunderacle:** πŸ‘‹ + +**snitin315:** Heya πŸ‘‹ + +**wunderacle:** Alrighty, we might want to integrate an agenda bot for our meeting agenda. + +**wunderacle:** Node has a GitHub bot that does that, we can just fork it and repurpose for our own needs + +- πŸ‘ @snitin315, @alexander.akait + +**evenstensberg:** @wunderacle your email? + +**evenstensberg:** will inv u to the google docs + +**wunderacle:** cwunder@gnome.org it is also listed on the webpack's readme xD + +**evenstensberg:** faster for me to get your email here when i got ya πŸ™‚ + +**wunderacle:** xD + +**wunderacle:** Im teasing you :P + +**evenstensberg:** https://tenor.com/view/husky-siberian-dog-cody-woof-gif-10159125698214328944 + +**evenstensberg:** We could create the agenda before the meeting but this is the first one + +**evenstensberg:** so its better to get feedback from folks about your questions or stuff you wanna discuss + +**wunderacle:** Noted + +**evenstensberg:** next time we will do this before meeting + +**evenstensberg:** fill your questions in the agenda numbered list + +**snitin315:** Yeah, next time we will do it beforehand + +**wunderacle:** The benefits from said bot is that it automates a bunch of things. Im talking with Michael Dawson from RedHat, he developed Node's ones which also handles OpenJS's meetings. https://github.com/nodejs/create-node-meeting-artifacts + +**evenstensberg:** sec need to find my glasses + +**evenstensberg:** great. put this link in the correct subject in the docs + +**snitin315:** ESLint also hosts tsc meetings on discord and maintain notes in a public repo - https://github.com/eslint/tsc-meetings + +**wunderacle:** This is cool https://github.com/eslint/tsc-meetings/blob/main/scripts/generate-transcript.js + +**wunderacle:** Let's take notes of all of this on the initial Google doc + +**snitin315:** https://eslint.org/docs/latest/contribute/governance#tsc-meetings + +**evenstensberg:** @alexander.akait @snitin315 @wunderacle @thelarkinn react with thumbs if youre ready to start the meeting + +- πŸ‘ @wunderacle, @thelarkinn, @snitin315, @alexander.akait + +**thelarkinn:** hiiii all + +**thelarkinn:** Am here now + +**snitin315:** Hi @thelarkinn + +**evenstensberg:** Great! We've sent you a google docs invite Sean + +**evenstensberg:** go there and put your name in + +**snitin315:** Welcome πŸ™‚ Long time no see + +**evenstensberg:** Alex also needs to do this @alexander.akait + +**thelarkinn:** Opening + +**evenstensberg:** @alexander.akait put your name in + +**evenstensberg:** FYI Sean, alex is on an unstable network so he might be delayed in responding + +- πŸ‘ @thelarkinn + +**alexander.akait:** I am on phone, I will do it after meeting, is it ok? + +**evenstensberg:** ok + +**alexander.akait:** Typing on phone in Google docs is painπŸ˜€ + +**evenstensberg:** haha yes! + +**evenstensberg:** ok bois + +**evenstensberg:** lets start + +- πŸ‘ @alexander.akait + +**evenstensberg:** @wunderacle you ok with taking notes? + +- πŸ‘ @wunderacle + +**evenstensberg:** Also, if there's some parts of the convo that you think is not meant for the public, prefix your message or suffix with [PRIVATE] or something + +**evenstensberg:** I.e: + +[Private]: I think we should choose gsoc candidate number 69 + +- πŸ‘ @snitin315, @alexander.akait + +**evenstensberg:** Some meeting points are private by nature so in the meeting doc we will just say "this is a closed session" or something in the notes + +- πŸ‘ @snitin315, @alexander.akait + +**snitin315:** Let's start with first agenda item "Changing meeting platform (public)"? + +**evenstensberg:** aye + +**evenstensberg:** Just waiting for Claudio to verify hes taking notes + +- πŸ‘ @snitin315 + +**wunderacle:** [Private] What's the name of the candidate? + +**wunderacle:** Ah + +**wunderacle:** that was an example xD + +**evenstensberg:** yes πŸ™‚ + +**evenstensberg:** @wunderacle can u take notes? + +**wunderacle:** I already reacted to the original message. + +**evenstensberg:** aaah ok + +**evenstensberg:** lets go then + +**alexander.akait:** Yeah, it will be great, so I will have time to prepare environment, I am fine with discord, just need a time to find a good vpnπŸ™‚ + +**evenstensberg:** #1 - Changing meeting platform + +**evenstensberg:** In our governance documenation we have stated we have meetings through slack, but because sean has some problems we need to change this to discord + +**evenstensberg:** i can find the right place to make this change + +**alexander.akait:** Alternative places - slack or zoom, but I found discord is more intuitive as was said before + +- πŸ‘ @snitin315 + +**snitin315:** I'm fine with discord too. We can update the governance docs + +**evenstensberg:** let me quickly find the right place the code for this is + +- πŸ‘ @alexander.akait + +**evenstensberg:** https://github.com/webpack/governance/blob/main/README.md#tsc-meetings + +**evenstensberg:** Someone want to do a pr? + +**snitin315:** I think we should move this information to webpack.js.org as well. + +**evenstensberg:** free gh clout πŸ˜„ + +**evenstensberg:** i think the gov documentation is linked to this repo on our main documentation page + +**snitin315:** Yes, sure. I'll update. + +**wunderacle:** FYI I also gotta drop soon, the meeting started way late, I need to leave home around 19:00 but gotta first clean some stuff. + +**evenstensberg:** ok we need to finish at least the #2 stuff about meeting admin + +**evenstensberg:** important we discuss this before you leave + +**evenstensberg:** lets continue + +**evenstensberg:** nitin creates pr + +- πŸ‘ @snitin315 + +**evenstensberg:** # Information of how meetings will be done (public) + +**evenstensberg:** Ok so in the gov charter (?) we have stated meetings will be hosted on discord (new). It is text based and initially I thought tsc meetings would be once a month + +- πŸ‘ @alexander.akait + +**evenstensberg:** that's correct? 1ce a month not 2 times a month + +**wunderacle:** Once a month? + +**wunderacle:** I think biweekly makes sense (once every two weeks) and if there is nothing on the agenda we can just cancel it + +**snitin315:** I think it should be 2 times for at least initial 2-3 months, then we can reduce the cadence + +- πŸ‘ @wunderacle + +**evenstensberg:** okay im good with that + +**alexander.akait:** Also I think we need to choose our next topic, currently we have 4 places to focus: + +1. esm - universe target is almost the same because it is about loading and worlds on any runtimes/platforms +2. Finish css support - mostly about pure mode and finish small fixes, already done around 70-80% +3. Html support out of box - I already implement fast and good parser/printer/trandromers for swc, so we just can copy paste, hopefully we don’t have export import and html so it should be not hard, just need a time +4. Strict types, I have finish it, but we still have around 100 todos types, we need to fix it, types really helps, especially if we want to say about future major update + +- πŸ‘ @wunderacle, @snitin315 + +**evenstensberg:** I'll copy this to next meeting @alexander.akait + +- πŸ‘ @wunderacle, @alexander.akait + +**evenstensberg:** in 14 days + +**evenstensberg:** this is an intro meeting + +**evenstensberg:** technical stuff later + +- πŸ‘ @alexander.akait + +**alexander.akait:** I am fine with it + +**evenstensberg:** Ok great. so biweekly, + +**evenstensberg:** i would like to add that in beforehand, the week before next meeting, we create agenda + +- πŸ‘ @snitin315 + +**evenstensberg:** the agenda is a list of stuff we have discussed + +**evenstensberg:** @wunderacle I wonder if there's a tool for creating agendas, hopefully through google docs? + +**evenstensberg:** also I was wondering if we could automate meeting invitations + +**wunderacle:** I mentioned before there is + +**snitin315:** ESlint has some tooling for agenda as well - https://github.com/eslint/tsc-meetings/issues/579 + +**evenstensberg:** yep, this kinda touches that later bullet point + +**wunderacle:** But it will generate a GH issue; we can just copy it to a Google doc at the time of the meeting + +**evenstensberg:** Ok great + +**evenstensberg:** Put it in + +**thelarkinn:** A link with a GitHub discussion to the gdoc meeting notes could be helpful for feedback + +**evenstensberg:** +1 to that + +**evenstensberg:** for externals that read the minutes + +- πŸ‘ @snitin315, @alexander.akait + +**evenstensberg:** for each meeting + +**evenstensberg:** I'm kinda filling in as we go on the google doc now @wunderacle + +**evenstensberg:** so we can go through the most important ones + +**evenstensberg:** lets jump to # 8 + +**wunderacle:** Noted, although I dont mind filling the Google doc later + +**wunderacle:** Once Im back + +**evenstensberg:** ok great, you can do that if you see stuff missing + +**evenstensberg:** so ive seen node + +**evenstensberg:** they have a repo with the minutes + +**evenstensberg:** can we get that? + +**evenstensberg:** we have a place to host these: + +**evenstensberg:** https://github.com/webpack/tsc + +**evenstensberg:** meeting folder + +**evenstensberg:** so we just export the minutes from the google doc to markdown + +**snitin315:** Noice! + +**wunderacle:** Yup we can get that no biggie + +**evenstensberg:** I dont mind automating this, but can be done manually + +**wunderacle:** I can work on the scripts and workflows + +**evenstensberg:** ok great. I'll take note + +**wunderacle:** I just need admin access to the server so I can make the bot + +**alexander.akait:** Yeah, sounds good too, everything about tsc is in one place + +- πŸ‘ @snitin315 + +**evenstensberg:** which server? + +**snitin315:** I think claudio means the webpack discord server + +**evenstensberg:** You mean privelges to make changes to workflows etc? + +**evenstensberg:** ok ill fix this + +**evenstensberg:** Noted in the docs, will fix after meeting + +**evenstensberg:** ok so now we've covered meeting note generation + +**evenstensberg:** @clu + +**evenstensberg:** @wunderacle you have a lengthy reply on # 8 + +**evenstensberg:** Anything you want to discuss there? + +**evenstensberg:** or is this something you can do yourself? Me, Alex or Sean will give you correct acess within the org if you need + +**evenstensberg:** For now I'll do 1 on 1 with you (later) to implement the stuff Michael from NodeJS has for cpc meetings, ok? + +**snitin315:** [Redacted] + +**evenstensberg:** [Redacted] + +- πŸ‘ @wunderacle, @snitin315 + +**evenstensberg:** [Redacted] + +**evenstensberg:** WG + roadmapping firstd + +**evenstensberg:** first\* + +- πŸ‘ @wunderacle, @thelarkinn, @snitin315, @alexander.akait + +**thelarkinn:** Do we have a really detailed guide for how this intern will execute incrementally on the ESM output? + +**snitin315:** Sounds good. + +**wunderacle:** Yup + +**wunderacle:** Yup I can do it myself + +- πŸ‘πŸΎ @evenstensberg + +**evenstensberg:** Awesome + +**evenstensberg:** @wunderacle we've covered the most critical now, so just let us know when you gotta leave + +- πŸ‘ @wunderacle + +**evenstensberg:** I'd like you to stay for the Working Group part if you have time though + +**evenstensberg:** You know this stuff better than us haha + +**alexander.akait:** Yeah, I have ideas, but need to discuss about it, let’s postpone it for next meetings + +- πŸ‘ @snitin315 + +**evenstensberg:** # 6 Working groups + +**evenstensberg:** As far as I know, working groups are just a definition about teams that work on different areas of the org, like the CLI, different plugins and such + +**evenstensberg:** the WG create a document in each repo that it belongs to, and it allows us to scope work to different parts of the org + +**evenstensberg:** Claudio is more familar with this than I am, but in practise it will allow us to partition work done in the org better. + +We can create local roadmaps for each WG (Working Group). + +**snitin315:** I see node.js has https://github.com/nodejs/TSC/blob/main/WORKING_GROUPS.md, similarly we can have separate WG for CLI, webpack.js.org website, core webpack, devserver + dev-middleware, webpack-contrib + +**evenstensberg:** yep! + +**evenstensberg:** So in relation to the TSC, we can have goals on a higher level + +**evenstensberg:** like "Bump new major of webpack-dev-server" and then we delegate the actual implementation to the working groups + +**snitin315:** But we don't have a lot of contributors, I think right now only Alex & I are active + +- πŸ‘ @alexander.akait + +**snitin315:** so we have to manage all repos. I think we can establish WG once we have more contributors. + +**evenstensberg:** sec noting + +**evenstensberg:** I'm thinking of ways we can keep the WG definition but more broadly + +**evenstensberg:** like WG for infra + +**evenstensberg:** or WG for core + +**snitin315:** Sounds good. Also for releasing packages all TSC members should have npm access. + +**evenstensberg:** TSC yep, but as we grow, the WG should only have npm access for the repos they manage + +**snitin315:** yes, agree. + +**evenstensberg:** @alexander.akait any input? + +**alexander.akait:** Sounds good for meπŸ‘ + +**evenstensberg:** WG are roadmapping is kinda related so we can continue + +**evenstensberg:** I think Claudio went afk so I'll take notes while we discuss + +**evenstensberg:** # 7 Roadmapping + +**evenstensberg:** Ok so this is a very important topic because a lot of the tsc work will be to roadmap + +**snitin315:** For roadmap we have this board but i am not sure we are maintaing this actively https://github.com/orgs/webpack/projects/4 + +**alexander.akait:** We can do it on our meetings too, I am doing it, but not often, after minor releases mostly + +**evenstensberg:** I see that this kanban is just for webpack/webpack + +**evenstensberg:** Maybe we can have roadmaps org wide? + +**evenstensberg:** like for all repos + +**evenstensberg:** (that we think is important) + +**evenstensberg:** it doesnt make sense to have dep bumps of some plugin in the roadmap, but you know what i mean + +**snitin315:** For CLI we have - + +- https://github.com/webpack/webpack-cli/issues/3768 +- https://github.com/webpack/webpack-cli/issues/3747 +- Improve create-webpack-app with latest templates using swc, etc. + +**evenstensberg:** These are ticket + +**evenstensberg:** tickets\* + +**snitin315:** ESLint maintains a single board for all repos, see this -https://github.com/orgs/eslint/projects/3 + +**evenstensberg:** I was thinking more like eslint! + +**evenstensberg:** @snitin315 you've worked with OKRs? + +**snitin315:** Yes + +**evenstensberg:** I think OKRs are a bit out of scope + +**evenstensberg:** but github has milestones + +**evenstensberg:** we can leverage that + +**evenstensberg:** create an internal milestone board + +**evenstensberg:** for all webpack repos + +**evenstensberg:** (that we actively work on) + +**snitin315:** Will have to check this milestones feature. I have not used it heavily. + +**snitin315:** But we should definitely explore. + +**evenstensberg:** We started with this on webpack-cli, but it got discontinued + +**snitin315:** Ah! + +**evenstensberg:** i know some projects use milestones for dev + +**evenstensberg:** like for both versioning and quarters + +**evenstensberg:** like: v6 pi 1 + +**evenstensberg:** where pi is month + +**evenstensberg:** in this context we need to use webpack core to determine work on other repos, I dont know if that is what we want + +**evenstensberg:** It will make work on other repos dependent on webpack, but its a nice thing to look into + +**snitin315:** Hmm, got it. Can't we leverage GitHub projects instead of milestones? + +**evenstensberg:** yea + +**evenstensberg:** For now, we can set roadmapping to github projects, it makes sense + +**thelarkinn:** Yup + +**evenstensberg:** and then move to other techniques if we decide its not a way to go + +**snitin315:** I think it should be fine for now. Once we get more contributors we can look into it. + +- πŸ‘πŸΎ @evenstensberg + +**evenstensberg:** @alexander.akait if you have any input here let us know. This is going to impact the way you work + +**evenstensberg:** Not only on core, but also for smaller repos + +**evenstensberg:** I think this section of maintainance is very interesting because if we had more contributors this is where WG + Github projects would be amazing + +**alexander.akait:** I am fine with everything, we already done it before, just stop it because I mostly was only one + +**alexander.akait:** And to avoid losing time I stopped to do some things + +**snitin315:** We also need to automate release notes generation as well, I think right now @alexander.akait writes them manually. + +**evenstensberg:** noted + +**thelarkinn:** I would love to see just releases become automatic also + +**snitin315:** I can look into the automations. + +- πŸ‘πŸΎ @evenstensberg + +**thelarkinn:** This would be a great GSOC task if we needed to take something else on + +**evenstensberg:** Ideas phase of gsoc is over, students have already submitted their proposals and we are about to choose which one to mentor + +**alexander.akait:** Automatic release and changelog generation already in my todo, just focus on perf tests right now, already initially implemented, just need to rewrite old benchmarks, it is the next step in my todo + +- πŸ‘ @evenstensberg, @snitin315 + +**evenstensberg:** Ok so to summarize: + +1. We will look into github projects in a larger scale than currrent +2. Nitin + Alex will look into automated releases + +- πŸ‘ @snitin315, @alexander.akait + +**evenstensberg:** I think for now, we will first need to create a larger WG + +**evenstensberg:** like webpack/infra, webpack/core (which already is present) + +**evenstensberg:** each of these WG have their own project boards + +- πŸ‘ @snitin315 + +**alexander.akait:** Maybe we don’t need to deeply split our tasks between repos, most of tasks can be done together, for example - env support, u think we main plugin should be implemented in webpack itself, but flags to enable it should be added in webpack-cli + +**alexander.akait:** So one board for our tasks is good, the same for eslint, we need to migrate on 9 version, but we need to do it eslint-wepack repo, than update it in other repos + +**evenstensberg:** ok ill note this + +**evenstensberg:** then we have 1 board for all the main tasks + +**snitin315:** Yeah, I can pick the ESLint upgrade. + +- πŸ‘ @alexander.akait + +**evenstensberg:** great, I'll assign this work to you nitin + +- πŸ‘ @snitin315 + +**evenstensberg:** you got access? + +**snitin315:** Yes, i think I do have access to the required repos. + +**evenstensberg:** great + +**evenstensberg:** we can move on + +**evenstensberg:** [Redacted] + +**evenstensberg:** Ok so meetings over. I just wanna summarize the actionable stuff we will to until next time: + +1. Me and claudio will set up meeting infra +2. Nitin will send PR to update meeting platform +3. Nitin will look into automated releases +4. Claudio, Even, Alex, Nitin will add points (and doc) to discuss in next TSC meeting + +- πŸ‘ @snitin315, @alexander.akait + +**evenstensberg:** The most important takeaway is that we need to add stuff to discuss next meeting + +**evenstensberg:** I will create a google doc for next meeting agenda later + +**evenstensberg:** + Will be in touch with y'all if you have any feedback + +**snitin315:** sounds good! + +**alexander.akait:** Yeah, thanks for everyone, I think we can have small discussions on slack or here for small tasks or where we need to update/change information + +- ❀️ @evenstensberg + +**evenstensberg:** ok thanks all! + +**evenstensberg:** cya later + +**snitin315:** byee folks! + +**alexander.akait:** Bye⭐️ + +**thelarkinn:** Perfect thanks all! diff --git a/notes/2025/2025-04-28.md b/notes/2025/2025-04-28.md new file mode 100644 index 0000000..32ed7aa --- /dev/null +++ b/notes/2025/2025-04-28.md @@ -0,0 +1,106 @@ +# 04/28/2025 Webpack TSC Meeting Notes Summary + +#### **Attendance** + +**Participants** + +- Even Stensberg ([https://twitter.com/evenstensberg](https://twitter.com/evenstensberg)) +- Nitin Kumar ([https://x.com/snitin315](https://x.com/snitin315) ) +- Claudio Wunder ([https://github.com/ovflowd](https://github.com/ovflowd)) +- Sean Larkin ([https://github.com/thelarkinn](https://github.com/thelarkinn)) +- Alexander Akait ([https://github.com/aleksander-akait](https://github.com/aleksander-akait)) + +--- + +#### **1. Establish Working Groups (WGs)** + +**Objective:** Organize contributions by partitioning work into focused teams for scalability. + +- **Actions:** + - Define core WGs (e.g., Core, Infra) and potential future WGs (e.g., Ecosystem). + - Draft WG proposals with scope, roadmaps, and access privileges. + - Assign **Nitin** as initial lead to coordinate setup. +- **Owner:** Nitin + TSC +- **Timeline:** 2–4 weeks (dependent on contributor availability). +- **Dependencies:** Requires approval from TSC and clear communication of roles. +- **Outcome:** Scoped WGs with defined responsibilities and access levels. + +--- + +#### **2. Automate Releases** + +**Objective:** Replace manual release processes to improve efficiency. + +- **Actions:** + - Research existing tools (e.g., GitHub Actions, semantic release). + - Propose automation workflow for versioning, changelog generation, and deployment. + - Validate feasibility with current contributors (e.g., Alex). +- **Owner:** Nitin +- **Timeline:** 3–6 weeks (post-WG setup). +- **Dependencies:** Requires collaboration with core contributors to align on tooling. +- **Outcome:** Draft proposal for automated release pipeline. + +--- + +#### **3. Improve Meeting Infrastructure** + +**Objective:** Streamline meeting logistics and documentation. + +- **Actions:** + - Adopt ESLint/Node.js templates for agenda generation (e.g., `generate-transcript.js`). + - Migrate meeting notes to `webpack/tsc` repo with clear categorization. + - Set up GHA workflows for agenda/transcript automation. +- **Owner:** Claudio + Even +- **Timeline:** 2–3 weeks. +- **Dependencies:** Access to Cross Project Council tools (Even will coordinate). +- **Outcome:** Automated meeting transcripts and agendas stored in `webpack/tsc`. + +--- + +#### **4. Roadmapping via GitHub Projects** + +**Objective:** Use GitHub Projects for centralized, org-wide roadmaps. + +- **Actions:** + - Migrate from Kanban board to a unified GitHub Project (repo-neutral). + - Align WGs with project boards to track cross-repo dependencies. + - Integrate milestones for core releases and OKRs (if feasible). +- **Owner:** Nitin + TSC +- **Timeline:** Ongoing, with initial setup in 2 weeks. +- **Dependencies:** WG structure must be finalized first. +- **Outcome:** GitHub Project serving as a single source of truth for roadmaps. + +--- + +#### **5. Meeting Transcript Automation** + +**Objective:** Standardize and automate post-meeting documentation. + +- **Actions:** + - Deploy scripts from ESLint/Node.js to generate transcripts. + - Validate with Claudio’s proposed `generate-transcript.js` tool. + - Ensure compatibility with existing repositories. +- **Owner:** Claudio + Even +- **Timeline:** 2–3 weeks. +- **Dependencies:** Requires GitHub Actions setup and testing. +- **Outcome:** Automated, version-controlled transcripts for all TSC meetings. + +--- + +### **Summary Table** + +| Task | Owner | Timeline | Outcome | +| ------------------------------ | -------------- | --------------------------------- | ------------------------------ | +| Establish WGs | Nitin + TSC | 2–4 weeks | Scoped WGs with access/roles | +| Automate Releases | Nitin | 3–6 weeks | Draft automation proposal | +| Improve Meeting Infrastructure | Claudio + Even | 2–3 weeks | Automated agendas/transcripts | +| Roadmapping (GitHub Projects) | Nitin + TSC | Ongoing, initial setup in 2 weeks | Centralized roadmap project | +| Meeting Transcript Automation | Claudio + Even | 2–3 weeks | Version-controlled transcripts | + +--- + +### **Next Steps** + +1. Nitin to draft WG proposals and schedule TSC vote (within 1 week). +2. Claudio and Even to prototype `generate-transcript.js` and test with next meeting. +3. Alex to review release automation tools and provide feedback by [insert deadline].