Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Required: GitHub Token (Needs "repo" permissions)
# GITHUB_TOKEN=your_personal_access_token_or_org_token

# Required: HackMD Configuration
# HACKMD_API_TOKEN=your_hackmd_api_token
# HACKMD_TEAM_NAME=your_hackmd_team_name_optional # Defaults to your own personal space

# Google Calendar API Authentication
# You can get this from the Google Cloud Console
# Create an API Key and restrict it to the Google Calendar API
# GOOGLE_API_KEY=your_google_calendar_api_key_here
71 changes: 71 additions & 0 deletions .github/workflows/create-meeting-artifacts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: Create Meeting Artifacts

on:
# Run every Monday at 10 AM UTC (adjust as needed)
schedule:
- cron: '0 10 * * 1'

# Allow manual triggering
workflow_dispatch:
inputs:
meeting_group:
description: 'Meeting group to create artifacts for'
required: true
type: choice
options:
- uvwasi
- tsc
- build
- diag
- diag_deepdive
- typescript
- Release
- cross_project_council
- modules
- tooling
- security-wg
- next-10
- package-maintenance
- package_metadata_interop
- ecosystem_report
- sustainability_collab
- standards
- security_collab
- loaders
- web-server-frameworks

jobs:
create-artifacts:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

- name: Setup Node.js
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version-file: '.nvmrc'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Create meeting artifacts
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HACKMD_API_TOKEN: ${{ secrets.HACKMD_API_TOKEN }}
HACKMD_TEAM_NAME: ${{ secrets.HACKMD_TEAM_NAME }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
run: node create-node-meeting-artifacts.mjs ${{ github.event.inputs.meeting_group }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How will this work on schedule? TSC?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You have a schedule trigger on this workflow. When that trigger occurs, ${{ github.event.inputs.meeting_group }} will be blank. Will it default to TSC, like it does here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No it won't, good question, can I add fields for manual workflow triggers?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bump, @avivkeller

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand your question. I think if you just remove the schedule trigger, and make this only run manually, it'll be fine

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My question is, if we support manual triggers, can we have an input field that allows us to set this? Otherwise I'll remove manual dispatch, as this should be pretty much cron-based.

Copy link
Member

@avivkeller avivkeller Aug 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the event of a manual trigger, yes, you can define inputs. In the event of a schedule trigger, no, you cannot define inputs.

Why would a schedule trigger even be needed in this repository, shouldn't that be handled by the repos relying on this, not this repo itself?


- name: Upload artifacts
if: always()
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: meeting-artifacts-${{ github.event.inputs.meeting_group || 'tsc' }}
path: |
~/.make-node-meeting/
*.md
retention-days: 7
if-no-files-found: ignore
39 changes: 39 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Test Suite

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
test:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [22.x, 'latest']

steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Run linting
run: npm run lint

- name: Run tests
run: npm test

- name: Check format
run: npm run format:check
16 changes: 14 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
# Node.js Packages
node_modules/
client_secret.json
package-lock.json

# Environment File
.env

# Test artifacts and temporary files
test/fixtures/temp/
test/snapshots/*.snap
*.log
coverage/

# Files created during unit test runs
*.sh
meeting-test/
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
22
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
templates/
11 changes: 11 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": true,
"jsxSingleQuote": false,
"trailingComma": "es5",
"bracketSpacing": true,
"bracketSameLine": false,
"arrowParens": "avoid"
}
1 change: 1 addition & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
Michael Dawson <[email protected]>
Claudio Wunder <[email protected]>
10 changes: 5 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Writing good commit logs is important. A commit log should describe what
changed and why. Follow these guidelines when writing one:

1. The first line should be a short description of the change
(e.g. "get-metadata: check if the committer matches the author").
(e.g. "get-metadata: check if the committer matches the author").
2. Keep the second line blank.
3. Wrap all lines at 72 columns.

Expand Down Expand Up @@ -90,23 +90,23 @@ in this project.

By making a contribution to this project, I certify that:

* (a) The contribution was created in whole or in part by me and I
- (a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or

* (b) The contribution is based upon previous work that, to the best
- (b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or

* (c) The contribution was provided directly to me by some other
- (c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.

* (d) I understand and agree that this project and the contribution
- (d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
Expand Down
8 changes: 3 additions & 5 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
The MIT License (MIT)
=====================
# The MIT License (MIT)

Copyright (c) 2018 create-node-meeting-artifacts authors
-------------------------------------------------------------
## Copyright (c) 2018 create-node-meeting-artifacts authors

*contributors listed at <https://github.com/nodejs/create-node-meeting-artifacts/blob/master/AUTHORS>*
_contributors listed at <https://github.com/nodejs/create-node-meeting-artifacts/blob/master/AUTHORS>_

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

Expand Down
Loading