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
13 changes: 13 additions & 0 deletions .github/workflows/npm-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: NPM release

on:
workflow_dispatch:

jobs:
npm-release:
uses: mapbox/gha-public/.github/workflows/workflow-npm-oidc-publish.yml@main

Check warning on line 8 in .github/workflows/npm-release.yml

View check run for this annotation

OX Security / ox-security/scan

Unpinned Reusable Workflow • GitHub Actions

Pin reusable workflows to a full-length commit SHA (40 characters) instead of a tag or branch. Example: uses: org/repo/.github/workflows/build.yml@a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0
permissions:
id-token: write
contents: write
with:
create-github-release: true
16 changes: 16 additions & 0 deletions contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,19 @@ Use [JSDoc style comments](http://usejsdoc.org/index.html) and build documentati
- Try to write functions to have no external dependencies aside from the [AWS SDK for JS](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/index.html).
- During the create event you must assign your backend resource a PhysicalResourceId. Make sure that this ID will be sufficient to identify the backend resource in a later update or delete event.
- The update and delete events are particularly challenging. They may or may not be triggered after a resource was actually created, so it is not safe to assume that the resource already exists. Be sure to handle both scenarios or you may end up with a stack that you're unable to delete.

## Releasing a new version

Releases are published to npm via GitHub Actions.

### Steps

1. **Bump the version** in `package.json` (follow [semver](https://semver.org))
2. **Update `CHANGELOG.md`** with a summary of what changed
3. **Open a PR**, get it reviewed and merged to `master`
4. **Trigger the release** from the [Actions tab](../../actions/workflows/npm-release.yml):
- Select **NPM release** → **Run workflow** → run from `master`

The workflow will publish to npm and create a GitHub release with auto-generated notes.

> **Note:** Only Mapbox maintainers with write access to this repository can trigger the release workflow. External contributors can open and contribute to PRs, but releases are always cut by the owning team.
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@mapbox/magic-cfn-resources",
"version": "4.1.0",
"version": "4.1.1",
"description": "Build Lambda-backed custom CloudFormation resources",
"main": "index.js",
"directories": {
Expand Down Expand Up @@ -32,5 +32,8 @@
"dependencies": {
"@mapbox/cloudfriend": "^8.4.0",
"aws-sdk": "^2.1692.0"
},
"publishConfig": {
"access": "public"
}
}
Loading