Skip to content
Merged
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
79 changes: 79 additions & 0 deletions .github/workflows/create-meeting-artifacts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
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

- uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
id: app-token
with:
app-id: ${{ secrets.BOT_ID }}
private-key: ${{ secrets.BOT_PRIVATE_KEY}}

- name: Create meeting artifacts
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HACKMD_API_TOKEN: ${{ secrets.HACKMD_API_TOKEN }}
# TODO: This should be part of the meeting artifact as different meetings
# might use different HackMD teams.
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 }}

- 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