Skip to content

Commit

Permalink
feat: US158339 - Add update-package-lock and new release token (#136)
Browse files Browse the repository at this point in the history
* Add update-package-lock workflow
* Update dependabot
* Go to node 20
* Switch to new token and update README
  • Loading branch information
svanherk authored Nov 14, 2023
1 parent af184bd commit 012af98
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 50 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
* @BrightspaceUI/gaudi-dev
package-lock.json
19 changes: 9 additions & 10 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
open-pull-requests-limit: 10
versioning-strategy: widen
ignore:
- dependency-name: mocha
versions:
- ">= 8.1.a, < 8.2"
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
open-pull-requests-limit: 10
ignore:
# update-package-lock workflow already handles minor/patch updates
- dependency-name: "*"
update-types: ["version-update:semver-minor", "version-update:semver-patch"]
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,6 @@ jobs:
- name: Semantic Release
uses: BrightspaceUI/actions/semantic-release@main
with:
GITHUB_TOKEN: ${{ secrets.D2L_GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.D2L_RELEASE_TOKEN }}
NPM: true
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
25 changes: 25 additions & 0 deletions .github/workflows/update-package-lock.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Update package-lock.json
on:
schedule:
- cron: "30 12 * * 3" # Wed 8:30AM EDT. 7:30AM EST.
workflow_dispatch: # manual trigger
jobs:
update:
name: Update
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- uses: Brightspace/third-party-actions@actions/checkout
with:
token: ${{ secrets.PR_GITHUB_TOKEN }}
- uses: Brightspace/third-party-actions@actions/setup-node
with:
node-version-file: .nvmrc
cache: 'npm'
- name: Update package-lock.json
uses: BrightspaceUI/actions/update-package-lock@main
with:
AUTO_MERGE_METHOD: squash
AUTO_MERGE_TOKEN: ${{ secrets.PR_GITHUB_TOKEN }}
APPROVAL_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.PR_GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18
20
47 changes: 9 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,11 @@ const separator = getSeparator({ nonBreaking: true }); // -> ',\xa0' in en-US
Options:
- **nonBreaking**: a Boolean flag, whether to use non-breaking spaces instead of standard spaces; default is `false`

## Running the test harness
## Developing and Contributing

After cloning the repo, run `npm install` to install dependencies.

### Running the test harness

Start a [@web/dev-server](https://modern-web.dev/docs/dev-server/overview/) that hosts the test harness:

Expand All @@ -268,45 +272,12 @@ npm start

This will let you test the intl library in a browser, and will update live with any changes.

## Contributing
### Contributing

Contributions are welcome, please submit a pull request!

## Versioning & Releasing

> TL;DR: Commits prefixed with `fix:` and `feat:` will trigger patch and minor releases when merged to `main`. Read on for more details...
The [semantic-release GitHub Action](https://github.com/BrightspaceUI/actions/tree/main/semantic-release) is called from the `release.yml` GitHub Action workflow to handle version changes and releasing.

### Version Changes

All version changes should obey [semantic versioning](https://semver.org/) rules:
1. **MAJOR** version when you make incompatible API changes,
2. **MINOR** version when you add functionality in a backwards compatible manner, and
3. **PATCH** version when you make backwards compatible bug fixes.

The next version number will be determined from the commit messages since the previous release. Our semantic-release configuration uses the [Angular convention](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular) when analyzing commits:
* Commits which are prefixed with `fix:` or `perf:` will trigger a `patch` release. Example: `fix: validate input before using`
* Commits which are prefixed with `feat:` will trigger a `minor` release. Example: `feat: add toggle() method`
* To trigger a MAJOR release, include `BREAKING CHANGE:` with a space or two newlines in the footer of the commit message
* Other suggested prefixes which will **NOT** trigger a release: `build:`, `ci:`, `docs:`, `style:`, `refactor:` and `test:`. Example: `docs: adding README for new component`

To revert a change, add the `revert:` prefix to the original commit message. This will cause the reverted change to be omitted from the release notes. Example: `revert: fix: validate input before using`.

### Releases

When a release is triggered, it will:
* Update the version in `package.json`
* Tag the commit
* Create a GitHub release (including release notes)
* Deploy a new package to NPM

### Releasing from Maintenance Branches

Occasionally you'll want to backport a feature or bug fix to an older release. `semantic-release` refers to these as [maintenance branches](https://semantic-release.gitbook.io/semantic-release/usage/workflow-configuration#maintenance-branches).
### Versioning and Releasing

Maintenance branch names should be of the form: `+([0-9])?(.{+([0-9]),x}).x`.
This repo is configured to use `semantic-release`. Commits prefixed with `fix:` and `feat:` will trigger patch and minor releases when merged to `main`.

Regular expressions are complicated, but this essentially means branch names should look like:
* `1.15.x` for patch releases on top of the `1.15` release (after version `1.16` exists)
* `2.x` for feature releases on top of the `2` release (after version `3` exists)
To learn how to create major releases and release from maintenance branches, refer to the [semantic-release GitHub Action](https://github.com/BrightspaceUI/actions/tree/main/semantic-release) documentation.

0 comments on commit 012af98

Please sign in to comment.