Skip to content
Draft
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
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* @freckle/backenders
* @freckle/team-student-activities
22 changes: 18 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,30 @@ name: CI

on:
pull_request:
push:
branches: main

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@v6
- uses: actions/setup-node@v7
with:
cache: yarn
cache: pnpm
node-version-file: ".nvmrc"
- run: yarn install
- run: yarn build
- run: yarn test
- run: pnpm install --frozen-lockfile
- run: pnpm format-check
- run: pnpm typecheck
- run: pnpm lint
- run: pnpm knip
- run: pnpm coverage
- run: pnpm build
- uses: actions/upload-artifact@v7
with:
name: dist
path: dist/index.js
14 changes: 11 additions & 3 deletions .github/workflows/example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,22 @@ jobs:
# won't be rebuilt otherwise.
dist:
runs-on: ubuntu-latest

# Override the workflow-level default: unlike yarn, pnpm does not walk up to
# find package.json, so the build steps must run at the repository root.
defaults:
run:
working-directory: .

steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@v6
- uses: actions/setup-node@v7
with:
cache: yarn
cache: pnpm
node-version-file: ".nvmrc"
- run: yarn install
- run: yarn build
- run: pnpm install --frozen-lockfile
- run: pnpm build
- uses: actions/upload-artifact@v7
with:
name: dist
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/mergeabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ jobs:
mergeabot:
runs-on: ubuntu-latest
steps:
- uses: freckle/mergeabot-action@v3
- uses: freckle/mergeabot-action@v3.2.0
with:
quarantine-days: -1
12 changes: 10 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,25 @@ jobs:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: pnpm/action-setup@v6
- uses: actions/setup-node@v7
with:
cache: pnpm
node-version-file: ".nvmrc"

- id: token
uses: actions/create-github-app-token@v3
with:
app-id: ${{ vars.FRECKLE_AUTOMATION_APP_ID }}
private-key: ${{ secrets.FRECKLE_AUTOMATION_PRIVATE_KEY }}

- uses: cycjimmy/semantic-release-action@v6.0.0
- id: release
uses: cycjimmy/semantic-release-action@v6.0.0
# conventional-changelog-conventionalcommits is held at 9.x: v10 needs
# conventional-changelog-writer@9, which semantic-release@25 does not ship.
with:
extra_plugins: |
conventional-changelog-conventionalcommits
conventional-changelog-conventionalcommits@9
@semantic-release/exec
semantic-release-major-tag
env:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
node_modules
lib
coverage
18 changes: 18 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"printWidth": 100,
"tabWidth": 2,
"useTabs": false,
"semi": false,
"singleQuote": true,
"quoteProps": "as-needed",
"jsxSingleQuote": false,
"trailingComma": "none",
"bracketSpacing": false,
"bracketSameLine": false,
"arrowParens": "avoid",
"requirePragma": false,
"insertPragma": false,
"proseWrap": "preserve",
"htmlWhitespaceSensitivity": "css",
"endOfLine": "auto"
}
2 changes: 1 addition & 1 deletion .releaserc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ plugins:

# Update dist, in case Dependabot PRs merged without doing so
- - "@semantic-release/exec"
- prepareCmd: "yarn install && yarn run build"
- prepareCmd: "pnpm install && pnpm run build"

- - "@semantic-release/git"
- assets: "dist/index.js"
Expand Down
2 changes: 1 addition & 1 deletion .restyled.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ restylers:
- whitespace:
include:
- "**/*"
- "!dist/index.js"
- "!dist/**/*"
- "*"
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2021 Renaissance Learning Inc
Copyright (c) 2021-present Renaissance Learning Inc

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,18 @@ jobs:
See [generate-matrix/action.yml](./generate-matrix/action.yml) for more details.
This has been available since version 4 of this action.

## Development

- **Package manager**: pnpm (Node version pinned in `.nvmrc`)
- `pnpm build` — `tsc` then `ncc`, bundles to `dist/index.js`
- `pnpm test` — Vitest
- `pnpm coverage` — Vitest with coverage, gated at 70% (`main.ts` excluded: it drives real `stack` invocations, covered by the `example` workflow instead)
- `pnpm typecheck` — `tsc --noEmit`, includes test files
- `pnpm lint` — ESLint
- `pnpm format` / `pnpm format-check` — Prettier
- `pnpm knip` — unused files/dependencies/exports
- CI runs all of the above on every PR; `.github/workflows/example.yml` then runs the built action end to end against `example/` across runners and resolvers

## Release

To trigger a release (and update the `@v{major}` tag), merge a commit to `main`
Expand Down
Loading
Loading