git-off

git off handles large files in git repos
git clone https://noulin.net/git/git-off.git
Log | Files | Refs | README

README.md (4719B)


      1 # AWS SDK for JavaScript Changelog Scripts
      2 
      3 These scripts create and update the changelog to summarize what has changed in
      4 each version of the AWS SDK for JavaScript.
      5 
      6 Here is a sample of what an entry in the changelog looks like:
      7 
      8 ## 2.4.5
      9 * bugfix: Waiters: Some description of the bugfix ([Issue #9542]())
     10 * feature: S3: Some descripton of the new feature
     11 * API: RDS: Some description
     12 * API: DynamoDB: Some description
     13 
     14 Here is an overview of the scripts that create and update the changelog:
     15 
     16 ### create-changelog
     17 
     18 This script can be used to create or recreate the changelog based on JSON files
     19 in the `.changes/` directory in the root directory of the SDK. This does not
     20 need to be run on a regular basis but is useful if the changelog accidentallly
     21 gets deleted or corrupted. A `.changes/` directory in the root directory will
     22 need to be created before running this script, if it does not already exist. To
     23 run this script, type the following command from the root SDK directory in the
     24 command line:
     25 ```
     26 ./scripts/changelog/create-changelog
     27 ```
     28 The JSON files in the `.changes/` directory must be named with a version number
     29 (e.g. `2.4.5.json`) and its contents should be an array of objects. Each object
     30 represents one change in that version of the SDK, and should contain `"type"`,
     31 `"category"`, and `"description"` properties with string values. Incorrectly
     32 formatted filenames will be skipped over, and incorrectly formatted JSON within
     33 files with correctly formatted names will cause an error to be thrown and halt
     34 the execution of this script. The changelog file is not written to until the
     35 end, so if execution is halted, no files will have changed and no cleanup is
     36 required. The JSON files in `.changes/` are created in the `release` script.
     37 
     38 ### release
     39 
     40 This script should be run for each release. It creates a new entry in the
     41 changelog based on JSON files in the `next-release/` directory in the
     42 `.changes/` directory in the root of the SDK. In addition, it will create a
     43 JSON file for the new version in the `.changes/` directory so that the entry
     44 can be recreated when the `create-changelog` script is run. The `.changes/` and
     45 `next-release/` directories will need to be created before running this script,
     46 if they do not already exist. To run this script, type the following command
     47 from the root SDK directory in the command line:
     48 ```
     49 ./scripts/changelog/release
     50 ```
     51 Optionally, you can provide an argument to specify the version number of the
     52 new release. Accepted values are `major`, `minor`, `patch`, or a version number
     53 that is greater than the latest version (e.g. `2.4.6`). An error will be thrown
     54 if the specified version is not greater than the latest version, and execution
     55 will be halted. The former 3 choices specifies the type of version bump. For
     56 example, running
     57 ```
     58 ./scripts/changelog/release minor
     59 ```
     60 will bump up the minor version from the latest version. If the latest version
     61 is `2.4.5`, then this would set the new version to `2.5.0`. If no argument is
     62 provided, then the script defaults to bumping the patch number.
     63 
     64 The JSON files in the `next-release/` directory can either contain a single
     65 object or an array of objects. Each object represents one change in the new
     66 version, and should contain `"type"`, `"category"`, and `"description"`
     67 properties with string values. Incorrectly formatted JSON will cause an error
     68 to be thrown and halt execution of this script. If execution is halted due to
     69 this error, no changes will have been made to any files yet at this point, so
     70 no cleanup will be required.
     71 
     72 The script merges all changes in `next-release/` to a new JSON file with the
     73 version number as its name, and files in `next-release/` are deleted. A new
     74 entry is then created in the changelog. If for any reason execution is halted
     75 after `next-release/` is cleared but before changes are written to the
     76 changelog, you can either just run the `create-changelog` script or you can
     77 move the new version JSON file into `next-release/` and re-run the `release`
     78 script (the name of the file does not matter).
     79 
     80 ### add-change cli
     81 
     82 This script creates a changelog entry. The script prompts you to
     83 specify a `type` (e.g. bugfix or feature), a `category` (e.g. a service name
     84 or something like: Paginator), and a short `description` describing the change.
     85 
     86 Type the following command from the root SDK directory in the command line to
     87 run this script, using versions of node.js that support promises (0.12.x and higher):
     88 ```
     89 node ./scripts/changelog/add-change.js
     90 ```
     91 
     92 This script will place a JSON file representing your change in the following location:
     93 ```
     94 $SDK_ROOT/.changes/next-release/
     95 ```
     96 
     97 Please run this script and include the JSON file when submitting a pull request.