docs: update releasing info (#14675)
* docs: update releasing info * update more release and upload files * address feedback from review
This commit is contained in:
parent
2bcc86dac7
commit
e9549a89bb
3 changed files with 27 additions and 31 deletions
|
@ -102,14 +102,20 @@ $ gn gen out/Debug --args="import(\"//electron/build/args/debug.gn\") $GN_EXTRA_
|
||||||
Electron:**
|
Electron:**
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ gn gen out/Debug --args="import(\"//electron/build/args/release.gn\") $GN_EXTRA_ARGS"
|
$ gn gen out/Release --args="import(\"//electron/build/args/release.gn\") $GN_EXTRA_ARGS"
|
||||||
```
|
```
|
||||||
|
|
||||||
**To build, run `ninja` with the `electron` target:**
|
**To build, run `ninja` with the `electron` target:**
|
||||||
|
Nota Bene: This will also take a while and probably heat up your lap.
|
||||||
|
|
||||||
|
For the debug configuration:
|
||||||
```sh
|
```sh
|
||||||
$ ninja -C out/Debug electron
|
$ ninja -C out/Debug electron
|
||||||
# This will also take a while and probably heat up your lap.
|
```
|
||||||
|
|
||||||
|
For the release configuration:
|
||||||
|
```sh
|
||||||
|
$ ninja -C out/Release electron
|
||||||
```
|
```
|
||||||
|
|
||||||
This will build all of what was previously 'libchromiumcontent' (i.e. the
|
This will build all of what was previously 'libchromiumcontent' (i.e. the
|
||||||
|
|
|
@ -243,19 +243,19 @@ Removing old .npmrc (default)
|
||||||
Activating .npmrc "electron"
|
Activating .npmrc "electron"
|
||||||
```
|
```
|
||||||
|
|
||||||
The Electron account's credentials are kept by GitHub.
|
The Electron account's credentials are kept by GitHub in a password manager.
|
||||||
"Electron - NPM" for the URL "https://www.npmjs.com/login".
|
You'll also need to have access to an 2FA authenticator app with the appropriate OTP generator code to log in.
|
||||||
```sh
|
```sh
|
||||||
$ npm login
|
$ npm login
|
||||||
Username: electron
|
Username: electron-nightly
|
||||||
Password:
|
Password: <This can be found under NPM Electron Nightly on LastPass>
|
||||||
Email: (this IS public) electron@github.com
|
Email: (this IS public) electron@github.com
|
||||||
```
|
```
|
||||||
|
|
||||||
Publish the release to npm.
|
Publish the release to npm. Before running this you'll need to have set `ELECTRON_NPM_OTP` as an environment variable using a code from the aforementioned 2FA authenticator app.
|
||||||
```sh
|
```sh
|
||||||
$ npm whoami
|
$ npm whoami
|
||||||
electron
|
electron-nightly
|
||||||
$ npm run publish-to-npm
|
$ npm run publish-to-npm
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -320,17 +320,24 @@ Then manually create distributions for each platform and upload them:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# Checkout the version to re-upload.
|
# Checkout the version to re-upload.
|
||||||
git checkout vTHE.RELEASE.VERSION
|
git checkout vX.Y.Z
|
||||||
|
|
||||||
# Do release build, specifying one target architecture.
|
# Create release build
|
||||||
./script/bootstrap.py --target_arch [arm|x64|ia32]
|
gn gen out/Release --args="import(\"//electron/build/args/release.gn\") $GN_EXTRA_ARGS"
|
||||||
./script/build.py -c R
|
|
||||||
./script/create-dist.py
|
|
||||||
|
|
||||||
# Explicitly allow overwritting a published release.
|
# To compile for specific arch, instead set
|
||||||
|
gn gen out/Release-<TARGET_ARCH> --args='import(\"//electron/build/args/release.gn\") target_cpu = "[arm|x64|ia32]"'
|
||||||
|
|
||||||
|
# Build by running ninja with the electron target
|
||||||
|
ninja -C out/Release electron
|
||||||
|
ninja -C out/Release electron:dist_zip
|
||||||
|
|
||||||
|
# Explicitly allow overwriting a published release.
|
||||||
./script/upload.py --overwrite
|
./script/upload.py --overwrite
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Allowable values for [target_cpu](https://gn.googlesource.com/gn/+/master/docs/reference.md#built_in-predefined-variables-target_cpu_the-desired-cpu-architecture-for-the-build-possible-values) and [target_os](https://gn.googlesource.com/gn/+/master/docs/reference.md#built_in-predefined-variables-target_os_the-desired-operating-system-for-the-build-possible-values).
|
||||||
|
|
||||||
After re-uploading all distributions, publish again to upload the checksum
|
After re-uploading all distributions, publish again to upload the checksum
|
||||||
file:
|
file:
|
||||||
|
|
||||||
|
|
|
@ -39,9 +39,6 @@ def main():
|
||||||
utcnow = datetime.datetime.utcnow()
|
utcnow = datetime.datetime.utcnow()
|
||||||
args.upload_timestamp = utcnow.strftime('%Y%m%d')
|
args.upload_timestamp = utcnow.strftime('%Y%m%d')
|
||||||
|
|
||||||
if not dist_newer_than_head():
|
|
||||||
run_python_script('create-dist.py')
|
|
||||||
|
|
||||||
build_version = get_electron_build_version()
|
build_version = get_electron_build_version()
|
||||||
if not ELECTRON_VERSION.startswith(build_version):
|
if not ELECTRON_VERSION.startswith(build_version):
|
||||||
error = 'Tag name ({0}) should match build version ({1})\n'.format(
|
error = 'Tag name ({0}) should match build version ({1})\n'.format(
|
||||||
|
@ -135,20 +132,6 @@ def get_electron_build_version():
|
||||||
return subprocess.check_output([electron, '--version']).strip()
|
return subprocess.check_output([electron, '--version']).strip()
|
||||||
|
|
||||||
|
|
||||||
def dist_newer_than_head():
|
|
||||||
with scoped_cwd(SOURCE_ROOT):
|
|
||||||
try:
|
|
||||||
head_time = subprocess.check_output(['git', 'log', '--pretty=format:%at',
|
|
||||||
'-n', '1']).strip()
|
|
||||||
dist_time = os.path.getmtime(os.path.join(DIST_DIR, DIST_NAME))
|
|
||||||
except OSError as e:
|
|
||||||
if e.errno != errno.ENOENT:
|
|
||||||
raise
|
|
||||||
return False
|
|
||||||
|
|
||||||
return dist_time > int(head_time)
|
|
||||||
|
|
||||||
|
|
||||||
def upload_electron(release, file_path, args):
|
def upload_electron(release, file_path, args):
|
||||||
filename = os.path.basename(file_path)
|
filename = os.path.basename(file_path)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue