diff --git a/.github/release-please.yml b/.github/release-please.yml new file mode 100644 index 00000000000..54c715a494c --- /dev/null +++ b/.github/release-please.yml @@ -0,0 +1,3 @@ +manifest: true +primaryBranch: main +handleGHRelease: true diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 59f92fc7bc5..671fe92dc6b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -63,7 +63,7 @@ jobs: run: exit 1 publish-npm: - if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && !contains(github.event.head_commit.message, 'auto dependabot') }} + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.actor == 'release-please[bot]'}} needs: build environment: name: production_feed diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 00000000000..40a86afff80 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + ".": "1.0.0-preview.30" +} \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 25561230cb1..103386ecae3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,7 +2,40 @@ The best way to get started with a contribution is to start a dialog with us. Sometimes features will be under development or out of scope for this library and it's best to check before starting work on contribution, especially for large work items. ## Pull requests -All pull requests should be submitted against the **main** branch or a specific feature branch. +All pull requests should be submitted against the **main** branch or a specific feature branch. The `main` branch is intended to represent the code released in the most-recent npm package. + +When a new package is about to be released, the release PR will be merged into `main`. The package will be generated from `main`. + +## Commit message format + +To support our automated release process, pull requests are required to follow the [Conventional Commit](https://www.conventionalcommits.org/en/v1.0.0/) +format. + +Each commit message consists of a **header**, an optional **body** and an optional **footer**. The header is the first line of the commit and +MUST have a **type** (see below for a list of types) and a **description**. An optional **scope** can be added to the header to give extra context. + +``` +[optional scope]: + + + + +``` + +The recommended commit types used are: + + - **feat** for feature updates (increments the _minor_ version) + - **fix** for bug fixes (increments the _patch_ version) + - **perf** for performance related changes e.g. optimizing an algorithm + - **refactor** for code refactoring changes + - **test** for test suite updates e.g. adding a test or fixing a test + - **style** for changes that don't affect the meaning of code. e.g. formatting changes + - **docs** for documentation updates e.g. ReadMe update or code documentation updates + - **build** for build system changes (gradle updates, external dependency updates) + - **ci** for CI configuration file changes e.g. updating a pipeline + - **chore** for miscellaneous non-sdk changes in the repo e.g. removing an unused file + +Adding a footer with the prefix **BREAKING CHANGE:** will cause an increment of the _major_ version. Some things to note about this project: diff --git a/packages/msgraph-sdk/version.ts b/packages/msgraph-sdk/version.ts index 75829d4315d..c2bfbed2967 100644 --- a/packages/msgraph-sdk/version.ts +++ b/packages/msgraph-sdk/version.ts @@ -1 +1,3 @@ +// x-release-please-start-version export const version = "1.0.0-preview.13"; +// x-release-please-end diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 00000000000..3a6e805ba5d --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,28 @@ +{ + "bootstrap-sha": "722436d5c5202b7dd10f048c1cdf6946cd67fff6", + "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", + "pull-request-header": ":rocket: A new MSGraph TypeScript SDK release is coming up!", + "include-component-in-tag": false, + "versioning": "prerelease", + "packages": { + ".": { + "changelog-path": "CHANGELOG.md", + "release-type": "node", + "bump-minor-pre-major": false, + "bump-patch-for-minor-pre-major": false, + "include-v-in-tag": true, + "draft": false, + "prerelease": true + } + }, + "extra-files": [ + "lerna.json", + { + "type": "json", + "path": "packages/*/package.json", + "glob": true, + "jsonpath": "$.version" + }, + "packages/msgraph-sdk/version.ts" + ] +} \ No newline at end of file diff --git a/scripts/incrementMinorVersion.ps1 b/scripts/incrementMinorVersion.ps1 deleted file mode 100644 index f09705144e1..00000000000 --- a/scripts/incrementMinorVersion.ps1 +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -<# -.Synopsis - Placeholder to Increment the minor version string in package.json if the major, - minor, or patch version hasn't been manually updated. -.Description - Assumptions: - Targets package.json - This script assumes it is run from the repo root. - Minor version is typically auto-incremented. - - TODO: Version number will be incremented after first release of the SDK -#>