47 Commits

Author SHA1 Message Date
Randall Li
c116344fd8
Release script: checking out stable before pushing to cocopods. (#3099)
Keeping the error log when the push fails.
2018-03-16 14:55:39 -04:00
Adrian Secord
1969731cfe Fix version number updating. Fixes #2754. 2018-01-08 07:39:43 -05:00
Yarden Eitan
34ced9ee9a update our release script to support CocoaPods publishing (#2802)
* update release script to have a podspec push

* remove linting

* checking pod permission before, removing --allow-warnings
2018-01-05 16:52:42 -05:00
featherless
88a93244ab
Reduce error output from the bump command. (#2754)
The following changes were made:

- The global grep is now a non-regular expression search. This will avoid treating the version '.' as a wildcard.
- We ignore any of the bazel output directories.
- We pipe stderr to null so that invalid directories don't appear in the output.
2017-12-22 11:02:11 -05:00
Randall Li
fe88c3dfb0 [Release] Make release test not check for release-candidate (#2758)
Release instructions ask us to run it after we have merged.

https://github.com/material-components/material-components-ios/blob/develop/contributing/releasing.md#merge-the-release-candidate-branch

We also may want to just test without having created a release candidate.
2017-12-22 10:30:16 -05:00
Jeff Verkoeyen
a0ba8ed55a Fix minor typos in the release publish command. 2017-12-12 10:54:13 -05:00
Jeff Verkoeyen
1663ee2edc Update the Material Motion API diff tool checkout. 2017-12-11 12:50:48 -05:00
Jeff Verkoeyen
d45978aff1 Fix one more minor typo in the release scripting. 2017-12-11 12:48:41 -05:00
Jeff Verkoeyen
f86fa7b2b6 Fix bug where scripts/release cut wouldn't extract the API diff changes file properly.
It was extracting a string with a leading space - this is no longer the case.
2017-12-11 12:45:34 -05:00
featherless
98338f58cc
Migrate Material Motion's release toolchain to MDC (#2627) 2017-12-11 10:17:48 -05:00
Adrian Secord
6da7d0af51
[LibraryInfo] Fix version numbers for statically-compiled components. (#2544)
* Switched to hard-coded version string.

* Updating to current version and clarifying comments.

* Updated bump script to update LibraryInfo source version.

* Added actual replacement to bump script.

* Documented constants, changed version file name to a path.

* Fixed single-value tuple issue.

* Added note about string copy.
2017-11-30 14:25:27 -05:00
Adrian Secord
f5d3e30844
Move source of truth for version numbers outside of Cocoapods (#2442)
* Added VERSION, scripts/print_version, and updated docs.

* Updating script.

* Stop invoking `pod install` after the first time.

* Remove unneeded `pod install` steps.

* Added ref to print_version.

* Updated instructions in contributing/releasing.md.
2017-11-16 07:52:36 -05:00
featherless
c4160415f0 Add authors release script. (#2101)
Dumps the list of authors involved in a given release.
2017-10-05 14:57:15 -04:00
featherless
286adf335c Use not instead of ! in manage_pods.py. (#2082) 2017-10-03 09:32:33 -04:00
featherless
d7a7e9a524 Default CocoaPods install to update the pods repo. (#2081)
CocoaPods updated their default install behavior some time ago to not update the pods repo, but our pods management script still appeared to be assuming that it did update the repo. This change inverts our pod install logic so that it updates the spec repo by default.

This resolves some Travis CI failures we've seen when downstream pod releases get published but not picked up by the Travis CI instance's pre-imaged pods repo.
2017-10-03 09:01:36 -04:00
Adrian Secord
d2c05179f6 Renamed master to stable in docs and scripts.
Closes #161.
2016-12-15 08:24:14 -05:00
Adrian Secord
11a973dea7 Removed unused scripts/release/next. 2016-12-15 08:13:39 -05:00
Adrian Secord
f3de3e061b Removed site sources and references. (#1062) 2016-12-14 11:54:38 -05:00
Adrian Secord
0ae7c903ea Merge branch 'release-candidate' 2016-12-08 15:16:06 -05:00
Adrian Secord
f526af0a2c Fixed bump usage of manage_pods. 2016-12-08 09:04:17 -05:00
Adrian Secord
be375e60e9 Fixed scripts/release/diff. 2016-12-08 08:51:55 -05:00
Louis Romero
f8c9aa9a38 Fix typo in manage_pods.py (#976)
s/site-sourec/site-source.
2016-12-08 08:03:42 -05:00
Adrian Secord
f6e65556bc Add directory blacklist to manage_pods.py. (#962)
* Add directory blacklist to manage_pods.py.

`manage_pods.py` will now ignore Podfiles found in any path that has either "external" or "third_party" in their path.

Add `list` command to list Podfile directories.

* Improved blacklist handling to not recurse blacklisted directories.
2016-12-07 15:21:40 -05:00
Louis Romero
b6dfed73bf Use --project-directory with pod install (#927)
There was a blocking bug in EarlGrey that prevented us to do that:
https://github.com/google/EarlGrey/issues/287

Note: this might require to update the earlgrey gem for people that
installed it before the fix went live circa October 2016.

This is related to https://github.com/material-components/material-components-ios/issues/708.
2016-12-02 11:52:39 -05:00
Adrian Secord
2997e50c4c Updated refs to GitHub repo with new location. (#885)
* Updated refs to GitHub repo with new location.

* Reverted chagnes to JSON files.
2016-11-22 14:32:50 -05:00
Justin Shephard
26819f760d Updates to API Diff Process (#848)
* release-candidate - Updated indentation for api_diff script

* API_Diff - Removed references to obj_diff, added source kitten install script

* API_Diff - Added material motion api_diff submodule

* API_Diff - Added conditional for Ink and Snackbar to be diff'd manually

* API_DIff - Updated api diff tool sha
2016-11-09 17:08:48 -05:00
Justin Shephard
8ec86acf43 Bumped version number to 16.1.0. 2016-10-26 15:35:01 -04:00
randallli
6dbf3d8125 [Release] Modify arc diff to accept an argument to use difftool instead if you have that setup
Reviewers: O1 Material components iOS, ajsecord

Reviewed By: O1 Material components iOS, ajsecord

Subscribers: ajsecord

Tags: #material_components_ios

Differential Revision: http://codereview.cc/D1640
2016-09-22 10:26:36 -04:00
Adrian Secord
ac903cf1cd [Release] Work around https://github.com/google/EarlGrey/issues/287 in manage_pods.py.
Reviewers: O1 Material components iOS, randallli

Reviewed By: O1 Material components iOS, randallli

Tags: #material_components_ios

Differential Revision: http://codereview.cc/D1657
2016-09-21 15:42:11 -04:00
randallli
72162dce8a [Release] Merge script checks for synced develop and master branches before attempting to merge them.
Reviewers: O1 Material components iOS, ajsecord

Reviewed By: O1 Material components iOS, ajsecord

Subscribers: ajsecord

Tags: #material_components_ios

Differential Revision: http://codereview.cc/D1638
2016-09-20 16:23:47 -04:00
Adrian Secord
327a905853 [Release] Set the tracking branch correctly on release-candidate.
Reviewers: O1 Material components iOS, samnm

Reviewed By: O1 Material components iOS, samnm

Subscribers: samnm

Tags: #material_components_ios

Differential Revision: http://codereview.cc/D1565
2016-09-02 15:31:10 -04:00
Adrian Secord
8c3af252be Adding AUTHORS and removing CONTRIBUTORS.txt.
We can credit any contributor who would like to be credited this way, by adding them on request to the AUTHORS file. The copyright statement changes are required for this to work. Note that this has...

Summary:

We can credit any contributor who would like to be credited this way, by adding them on request to the AUTHORS file. The copyright statement changes are required for this to work. Note that this has no legal change, since the contributors always retained their copyright despite the copyright notice, but it's a nice acknowledgement.

Changed copyright statement to include non-Google authors.

Command run:

find * \( -name '*\.m' -or -name '*\.h' -or -name '*\.swift' \) -and -not \( -path 'scripts/external*' -name Pods  \) -print0 | xargs -0 sed -i '' 's/Copyright \(.*\) Google Inc/Copyright \1 the Material Components for iOS authors/'

Added non-source files.

Command run:

grep -Rl 'Copyright .* Google Inc' * --exclude-dir scripts/external --null | xargs -0 sed -i '' 's/Copyright \(.*\) Google Inc/Copyright \1 the Material Components for iOS authors/'

Reviewers: featherless, O1 Material components iOS, randallli

Reviewed By: O1 Material components iOS, randallli

Tags: #material_components_ios

Differential Revision: http://codereview.cc/D1415
2016-08-08 08:16:37 -07:00
randallli
bacd5fd0e5 [Contributing] Moved readme files up a directory.
Summary:
The contributing readmes are nested in two folders. Moving them out of the inner folder.
Fixed references to releasing.md

We should land cl/128400669 after this lands.

Reviewers: O1 Material components iOS, ajsecord

Reviewed By: O1 Material components iOS, ajsecord

Tags: #material_components_ios

Differential Revision: http://codereview.cc/D1329
2016-07-26 09:24:24 -04:00
randallli
ff8e274e0c [Release checklist] Minor copy edits to checklist
Summary:
Removed space inside []
Clarified some of the steps.

Reviewers: ajsecord, O1 Material components iOS

Reviewed By: ajsecord, O1 Material components iOS

Subscribers: ajsecord

Tags: #material_components_ios

Differential Revision: http://codereview.cc/D1311
2016-07-25 14:14:09 -04:00
Ian Gordon
d72fcf24ff Fix bump script.
Reviewers: randallli, O1 Material components iOS!, featherless

Reviewed By: featherless

Tags: #material_components_ios

Differential Revision: http://codereview.cc/D1305
2016-07-22 12:52:31 -04:00
randallli
24b824e761 [Release checklist] Added instructions to get the diff approved
Summary: reverse edit to merge command

Reviewers: O1 Material components iOS, ajsecord

Reviewed By: O1 Material components iOS, ajsecord

Tags: #material_components_ios

Differential Revision: http://codereview.cc/D1253
2016-07-18 14:19:19 -04:00
randallli
46684ed0eb [manage_pods] Added update command to manage_pods script so users can update all their pod files.
Reviewers: ajsecord, O1 Material components iOS

Reviewed By: ajsecord, O1 Material components iOS

Tags: #material_components_ios

Differential Revision: http://codereview.cc/D1252
2016-07-18 14:16:55 -04:00
randallli
7bb35f6476 [Releasing] Release cut script has a flag to cutting a hotfix. If it is a hot fix it will branch off master instead of develop
Summary:
use:
./scripts/release/cut --hotfix
to create a hotfix off master

Reviewers: ajsecord, O1 Material components iOS

Reviewed By: ajsecord, O1 Material components iOS

Subscribers: featherless, ajsecord

Tags: #material_components_ios

Differential Revision: http://codereview.cc/D961
2016-06-21 17:37:49 -04:00
randallli
af16f25484 [Releasing] Adjusted a command to suppress lint prompt with a prepared excuse.
Summary: Also added a checklist item to discourage landing the diff.

Reviewers: featherless, #mdc_ios_owners

Reviewed By: featherless, #mdc_ios_owners

Projects: #material_components_ios

Differential Revision: http://codereview.cc/D882
2016-05-20 11:20:32 -04:00
randallli
8a7d7cfab1 [release scripts] Fix error messaging for release cut script.
Reviewers: #mdc_ios_owners, featherless

Reviewed By: #mdc_ios_owners, featherless

Projects: #material_components_ios

Differential Revision: http://codereview.cc/D876
2016-05-18 15:47:59 -04:00
Ian Gordon
90c0be6af2 [Internal] Fix next script
Summary:
Update script to properly set minor and patch levels to 0 if a
'higher' level has been incremented.

Reviewers: featherless, #mdc_ios_owners

Reviewed By: featherless, #mdc_ios_owners

Projects: #material_components_ios

Differential Revision: http://codereview.cc/D785
2016-04-27 15:24:35 -04:00
Jeff Verkoeyen
309a38b619 Add script for exporting patches to other repositories.
Summary:
The script is optimized for working with repositories where MDC is located in a sub-directory.

Example invocation:

    ~/workbench/material-components-ios/scripts/release/export-patch -p prefix/third_party/material_components_ios -c 757c0ec76413f0bd92b92ddc13692e803c6e0bff | git am

Reviewers: ajsecord, #mdc_ios_owners

Reviewed By: ajsecord, #mdc_ios_owners

Projects: #material_components_ios

Differential Revision: http://codereview.cc/D766
2016-04-27 10:23:40 -04:00
Jeff Verkoeyen
79242099f4 Add release script for generating a commit log.
Reviewers: ajsecord, #mdc_ios_owners

Reviewed By: ajsecord, #mdc_ios_owners

Subscribers: ajsecord

Projects: #material_components_ios

Differential Revision: http://codereview.cc/D763
2016-04-26 15:38:56 -04:00
Jeff Verkoeyen
bd0a6c61d2 Always run release scripts from the git repo's root directory.
Summary: This allows the release scripts to be run from elsewhere in the file system. This will help write scripts that allow us to run release-candidate bisecting on the release branch.

Reviewers: #mdc_ios_owners, ajsecord

Reviewed By: #mdc_ios_owners, ajsecord

Subscribers: ajsecord

Projects: #material_components_ios

Differential Revision: http://codereview.cc/D764
2016-04-26 15:38:08 -04:00
Jeff Verkoeyen
2ae6ea073b [releasing] changes script now emphasizes breaking commits.
Summary:
Will turn [ComponentName]! into "**Breaking:**" in the output.

Example:

## Component changes

### AppBar

* [**Breaking**:  NSLog warning to NSAssert for incorrect parentViewController behavior.](8f3c3f8607) (randallli)
* [Remove mention of deprecated API.](1b35fe48b4) (Louis Romero)
* [Remove obsolete jazzy.yaml files.](fffb75e91e) (Yiran Mao)
...

Closes https://github.com/google/material-components-ios/issues/362.

Reviewers: #mdc_ios_owners, iangordon, ajsecord

Reviewed By: #mdc_ios_owners, iangordon, ajsecord

Projects: #material_components_ios

Differential Revision: http://codereview.cc/D760
2016-04-26 14:12:27 -04:00
Jeff Verkoeyen
89d096c45c Iterations to the releasing.md document and process.
Summary:
- Add TODO in release/cut's CHANGELOG modification to ensure that the version number is provided.
- Add build_all_pod_projects.

Added to releasing.md:

- Section on "Send the release out for review"
- Building and running the pod projects.
- Broke out the version bumping scripts to minimize copy-pasting errors.
- Add list of clients that must confirm a release before it lands.

Closes https://github.com/google/material-components-ios/issues/353
Closes https://github.com/google/material-components-ios/issues/352

Reviewers: #mdc_ios_owners, ajsecord

Reviewed By: #mdc_ios_owners, ajsecord

Projects: #material_components_ios

Differential Revision: http://codereview.cc/D617
2016-04-14 20:28:22 -04:00
Jeff Verkoeyen
f2da09a5fb Add releasing tooling and guide.
Summary:
Includes the following tools:

- api_diff: Writes a CHANGELOG.md-ready API diff for the latest release to stdout.
- changed_files: Writes a list of modified component sources for the latest release to stdout.
- changed_public_headers: Writes a list of modified component public headers for the latest release to stdout.
- changes: Writes a CHANGELOG.md-ready list of changes in this release, organized by component, to stdout.
- cut: Creates a release-candidate branch, creates a release section in CHANGELOG.md, and outputs an email to be sent to the community to stdout.
- diff: Generates a diff from the last release to the current one.
- merge: Performs the final merge operations into master and develop for the current release.
- next: Returns a version number bumped from the latest release on origin/master.

These tools are all discussed in the new Releasing contributor guide also included in this diff.

Reviewers: randallli, iangordon, #mdc_ios_owners, ajsecord

Reviewed By: #mdc_ios_owners, ajsecord

Subscribers: ajsecord

Projects: #material_components_ios

Differential Revision: http://codereview.cc/D509
2016-04-07 11:36:56 -04:00