Ejemplo n.º 1
0
def main():
    args = parse_args()

    if not dist_newer_than_head():
        run_python_script('create-dist.py')

    build_version = get_electron_build_version()
    if not ELECTRON_VERSION.startswith(build_version):
        error = 'Tag name ({0}) should match build version ({1})\n'.format(
            ELECTRON_VERSION, build_version)
        sys.stderr.write(error)
        sys.stderr.flush()
        return 1

    github = GitHub(auth_token())
    releases = github.repos(ELECTRON_REPO).releases.get()
    tag_exists = False
    for r in releases:
        if not r['draft'] and r['tag_name'] == args.version:
            release = r
            tag_exists = True
            break

    assert tag_exists == args.overwrite, \
           'You have to pass --overwrite to overwrite a published release'

    if not args.overwrite:
        release = create_or_get_release_draft(github, releases, args.version,
                                              tag_exists)

    # Upload Electron with GitHub Releases API.
    upload_electron(github, release, os.path.join(DIST_DIR, DIST_NAME))
    upload_electron(github, release, os.path.join(DIST_DIR, SYMBOLS_NAME))
    if PLATFORM == 'darwin':
        upload_electron(github, release,
                        os.path.join(DIST_DIR, 'electron-api.json'))
        upload_electron(github, release, os.path.join(DIST_DIR,
                                                      'electron.d.ts'))
        upload_electron(github, release, os.path.join(DIST_DIR, DSYM_NAME))
    elif PLATFORM == 'win32':
        upload_electron(github, release, os.path.join(DIST_DIR, PDB_NAME))

    # Upload free version of ffmpeg.
    ffmpeg = get_zip_name('ffmpeg', ELECTRON_VERSION)
    upload_electron(github, release, os.path.join(DIST_DIR, ffmpeg))

    # Upload chromedriver and mksnapshot for minor version update.
    if parse_version(args.version)[2] == '0':
        chromedriver = get_zip_name('chromedriver', ELECTRON_VERSION)
        upload_electron(github, release, os.path.join(DIST_DIR, chromedriver))
        mksnapshot = get_zip_name('mksnapshot', ELECTRON_VERSION)
        upload_electron(github, release, os.path.join(DIST_DIR, mksnapshot))

    if PLATFORM == 'win32' and not tag_exists:
        # Upload PDBs to Windows symbol server.
        run_python_script('upload-windows-pdb.py')

        # Upload node headers.
        run_python_script('create-node-headers.py', '-v', args.version)
        run_python_script('upload-node-headers.py', '-v', args.version)
Ejemplo n.º 2
0
def main():
  args = parse_args()

  if not args.publish_release:
    if not dist_newer_than_head():
      create_dist = os.path.join(SOURCE_ROOT, 'script', 'create-dist.py')
      execute([sys.executable, create_dist])

    build_version = get_atom_shell_build_version()
    if not ATOM_SHELL_VERSION.startswith(build_version):
      error = 'Tag name ({0}) should match build version ({1})\n'.format(
          ATOM_SHELL_VERSION, build_version)
      sys.stderr.write(error)
      sys.stderr.flush()
      return 1

  github = GitHub(auth_token())
  releases = github.repos(ATOM_SHELL_REPO).releases.get()
  tag_exists = False
  for release in releases:
    if not release['draft'] and release['tag_name'] == args.version:
      tag_exists = True
      break

  release = create_or_get_release_draft(github, releases, args.version,
                                        tag_exists)

  if args.publish_release:
    # Upload the SHASUMS.txt.
    execute([sys.executable,
             os.path.join(SOURCE_ROOT, 'script', 'upload-checksums.py'),
             '-v', ATOM_SHELL_VERSION])

    # Upload the index.json.
    execute([sys.executable,
             os.path.join(SOURCE_ROOT, 'script', 'upload-index-json.py')])

    # Press the publish button.
    publish_release(github, release['id'])

    # Do not upload other files when passed "-p".
    return

  # Upload atom-shell with GitHub Releases API.
  upload_atom_shell(github, release, os.path.join(DIST_DIR, DIST_NAME))
  upload_atom_shell(github, release, os.path.join(DIST_DIR, SYMBOLS_NAME))

  # Upload chromedriver and mksnapshot for minor version update.
  if parse_version(args.version)[2] == '0':
    chromedriver = 'chromedriver-{0}-{1}-{2}.zip'.format(
        get_chromedriver_version(), get_platform_key(), get_target_arch())
    upload_atom_shell(github, release, os.path.join(DIST_DIR, chromedriver))
    upload_atom_shell(github, release, os.path.join(DIST_DIR, MKSNAPSHOT_NAME))

  if PLATFORM == 'win32' and not tag_exists:
    # Upload node headers.
    execute([sys.executable,
             os.path.join(SOURCE_ROOT, 'script', 'upload-node-headers.py'),
             '-v', args.version])
Ejemplo n.º 3
0
def main():
  args = parse_args()

  if not args.publish_release:
    build_version = get_electron_build_version()
    if not get_electron_version().startswith(build_version):
      error = 'Tag name ({0}) should match build version ({1})\n'.format(
          get_electron_version(), build_version)
      sys.stderr.write(error)
      sys.stderr.flush()
      return 1

  github = GitHub(auth_token())
  releases = github.repos(ELECTRON_REPO).releases.get()
  tag_exists = False
  for release in releases:
    if not release['draft'] and release['tag_name'] == args.version:
      tag_exists = True
      break

  release = create_or_get_release_draft(github, releases, args.version,
                                        tag_exists)

  if args.publish_release:
    # Upload the Node SHASUMS*.txt.
    run_python_script('upload-node-checksums.py', '-v', get_electron_version(), '--dist-url', args.dist_url)

    # Upload the index.json.
    # run_python_script('upload-index-json.py')

    # Create and upload the Electron SHASUMS*.txt
    release_electron_checksums(github, release)

    # Press the publish button.
    # publish_release(github, release['id'])

    # Do not upload other files when passed "-p".
    return

  # Upload Electron with GitHub Releases API.
  upload_electron(github, release, os.path.join(dist_dir(), DIST_NAME))
  upload_electron(github, release, os.path.join(dist_dir(), SYMBOLS_NAME))
  # if PLATFORM == 'darwin':
  #   upload_electron(github, release, os.path.join(dist_dir(), DSYM_NAME))
  # elif PLATFORM == 'win32':
  #   upload_electron(github, release, os.path.join(dist_dir(), PDB_NAME))

  # Upload chromedriver and mksnapshot.
  chromedriver = get_zip_name('chromedriver', get_chromedriver_version())
  upload_electron(github, release, os.path.join(dist_dir(), chromedriver))
  # mksnapshot = get_zip_name('mksnapshot', get_electron_version())
  # upload_electron(github, release, os.path.join(dist_dir(), mksnapshot))

  # if PLATFORM == 'win32' and not tag_exists:
  #   # Upload PDBs to Windows symbol server.
  #   run_python_script('upload-windows-pdb.py')

  # Upload node headers.
  run_python_script('upload-node-headers.py', '-v', args.version)
Ejemplo n.º 4
0
def main():
  args = parse_args()

  if not args.publish_release:
    build_version = get_electron_build_version()
    if not get_electron_version().startswith(build_version):
      error = 'Tag name ({0}) should match build version ({1})\n'.format(
          get_electron_version(), build_version)
      sys.stderr.write(error)
      sys.stderr.flush()
      return 1

  github = GitHub(auth_token())
  releases = github.repos(ELECTRON_REPO).releases.get()
  tag_exists = False
  for release in releases:
    if not release['draft'] and release['tag_name'] == args.version:
      tag_exists = True
      break

  release = create_or_get_release_draft(github, releases, args.version,
                                        tag_exists)

  if args.publish_release:
    # Upload the Node SHASUMS*.txt.
    run_python_script('upload-node-checksums.py', '-v', get_electron_version(), '--dist-url', args.dist_url)

    # Upload the index.json.
    # run_python_script('upload-index-json.py')

    # Create and upload the Electron SHASUMS*.txt
    release_electron_checksums(github, release)

    # Press the publish button.
    # publish_release(github, release['id'])

    # Do not upload other files when passed "-p".
    return

  # Upload Electron with GitHub Releases API.
  upload_electron(github, release, os.path.join(dist_dir(), DIST_NAME))
  # upload_electron(github, release, os.path.join(dist_dir(), SYMBOLS_NAME))
  # if PLATFORM == 'darwin':
  #   upload_electron(github, release, os.path.join(dist_dir(), DSYM_NAME))
  # elif PLATFORM == 'win32':
  #   upload_electron(github, release, os.path.join(dist_dir(), PDB_NAME))

  # Upload chromedriver and mksnapshot.
  chromedriver = get_zip_name('chromedriver', get_chromedriver_version())
  upload_electron(github, release, os.path.join(dist_dir(), chromedriver))
    # mksnapshot = get_zip_name('mksnapshot', get_electron_version())
    # upload_electron(github, release, os.path.join(dist_dir(), mksnapshot))

  # if PLATFORM == 'win32' and not tag_exists:
  #   # Upload PDBs to Windows symbol server.
  #   run_python_script('upload-windows-pdb.py')

  # Upload node headers.
  run_python_script('upload-node-headers.py', '-v', args.version)
Ejemplo n.º 5
0
def main():
    github = GitHub(auth_token())
    releases = github.repos(BROWSER_LAPTOP_REPO).releases.get()
    tag = 'v' + json.load(open('package.json'))['version']
    tag_exists = False
    for release in releases:
        if not release['draft'] and release['tag_name'] == tag:
            tag_exists = True
            break
    release = create_or_get_release_draft(github, releases, tag, tag_exists)
    for f in get_files_to_upload():
        upload_browser_laptop(github, release, f)
Ejemplo n.º 6
0
def main():
  github = GitHub(auth_token())
  releases = github.repos(BROWSER_LAPTOP_REPO).releases.get()
  tag = 'v' + json.load(open('package.json'))['version']
  tag_exists = False
  for release in releases:
    if not release['draft'] and release['tag_name'] == tag:
      tag_exists = True
      break
  release = create_or_get_release_draft(github, releases, tag,
                                        tag_exists)
  for f in get_files_to_upload():
    upload_browser_laptop(github,release, f)
Ejemplo n.º 7
0
def main():
    github = GitHub(auth_token())
    releases = github.repos(BROWSER_LAPTOP_REPO).releases.get()
    tag = ('v' + json.load(open('package.json'))['version'] +
           release_channel())
    tag_exists = False
    for release in releases:
        if not release['draft'] and release['tag_name'] == tag:
            tag_exists = True
            break
    release = create_or_get_release_draft(github, releases, tag, tag_exists)

    # Press the publish button.
    publish_release(github, release['id'])
Ejemplo n.º 8
0
def main():
    args = parse_args()

    github = GitHub(auth_token())
    releases = github.repos(MESON_REPO).releases.get()
    tag_exists = False
    for release in releases:
        if not release['draft'] and release['tag_name'] == args.version:
            tag_exists = True
            break

    release = create_or_get_release_draft(github, releases, args.version,
                                          tag_exists)

    upload_meson(github, release, os.path.join(DIST_DIR, DIST_NAME))
def main():
  github = GitHub(auth_token())
  releases = github.repos(BROWSER_LAPTOP_REPO).releases.get()
  version = json.load(open('package.json'))['version']
  tag = ('v' + version + release_channel())
  tag_exists = False
  for release in releases:
    if not release['draft'] and release['tag_name'] == tag:
      tag_exists = True
      break
  release = create_or_get_release_draft(github, releases, tag,
                                        tag_exists)
  # match version to GitHub milestone
  commit_tag = None
  parts = version.split('.', 3)
  if (len(parts) == 3):
    parts[2] = 'x'
    commit_tag = '.'.join(parts)

  # Press the publish button.
  if not tag_exists and commit_tag:
    publish_release(github, release['id'], tag, commit_tag)
Ejemplo n.º 10
0
def main():
    args = parse_args()

    if not args.publish_release:
        if not dist_newer_than_head():
            run_python_script('create-dist.py')

        build_version = get_electron_build_version()
        if not ELECTRON_VERSION.startswith(build_version):
            error = 'Tag name ({0}) should match build version ({1})\n'.format(
                ELECTRON_VERSION, build_version)
            sys.stderr.write(error)
            sys.stderr.flush()
            return 1

    github = GitHub(auth_token())
    releases = github.repos(ELECTRON_REPO).releases.get()
    tag_exists = False
    for release in releases:
        if not release['draft'] and release['tag_name'] == args.version:
            tag_exists = True
            break

    release = create_or_get_release_draft(github, releases, args.version,
                                          tag_exists)

    if args.publish_release:
        # Upload the Node SHASUMS*.txt.
        run_python_script('upload-node-checksums.py', '-v', ELECTRON_VERSION)

        # Upload the index.json.
        run_python_script('upload-index-json.py')

        # Create and upload the Electron SHASUMS*.txt
        release_electron_checksums(github, release)

        # Press the publish button.
        publish_release(github, release['id'])

        # Do not upload other files when passed "-p".
        return

    # Upload Electron with GitHub Releases API.
    upload_electron(github, release, os.path.join(DIST_DIR, DIST_NAME))
    upload_electron(github, release, os.path.join(DIST_DIR, SYMBOLS_NAME))
    if PLATFORM == 'darwin':
        upload_electron(github, release,
                        os.path.join(DIST_DIR, 'electron-api.json'))
        upload_electron(github, release, os.path.join(DIST_DIR,
                                                      'electron.d.ts'))
        upload_electron(github, release, os.path.join(DIST_DIR, DSYM_NAME))
    elif PLATFORM == 'win32':
        upload_electron(github, release, os.path.join(DIST_DIR, PDB_NAME))

    # Upload free version of ffmpeg.
    ffmpeg = get_zip_name('ffmpeg', ELECTRON_VERSION)
    upload_electron(github, release, os.path.join(DIST_DIR, ffmpeg))

    # Upload chromedriver and mksnapshot for minor version update.
    if parse_version(args.version)[2] == '0':
        chromedriver = get_zip_name('chromedriver', ELECTRON_VERSION)
        upload_electron(github, release, os.path.join(DIST_DIR, chromedriver))
        mksnapshot = get_zip_name('mksnapshot', ELECTRON_VERSION)
        upload_electron(github, release, os.path.join(DIST_DIR, mksnapshot))

    if PLATFORM == 'win32' and not tag_exists:
        # Upload PDBs to Windows symbol server.
        run_python_script('upload-windows-pdb.py')

        # Upload node headers.
        run_python_script('create-node-headers.py', '-v', args.version)
        run_python_script('upload-node-headers.py', '-v', args.version)
Ejemplo n.º 11
0
def main():
    args = parse_args()
    if args.upload_to_s3:
        utcnow = datetime.datetime.utcnow()
        args.upload_timestamp = utcnow.strftime('%Y-%m-%d_%H:%M:%S')

    if not dist_newer_than_head():
        run_python_script('create-dist.py')

    build_version = get_electron_build_version()
    if not ELECTRON_VERSION.startswith(build_version):
        error = 'Tag name ({0}) should match build version ({1})\n'.format(
            ELECTRON_VERSION, build_version)
        sys.stderr.write(error)
        sys.stderr.flush()
        return 1

    github = GitHub(auth_token())
    releases = github.repos(ELECTRON_REPO).releases.get()
    tag_exists = False
    release = None
    for r in releases:
        if not r['draft'] and r['tag_name'] == args.version:
            release = r
            tag_exists = True
            break

    if not args.upload_to_s3:
        assert tag_exists == args.overwrite, \
              'You have to pass --overwrite to overwrite a published release'
        if not args.overwrite:
            release = create_or_get_release_draft(github, releases,
                                                  args.version, tag_exists)
    elif release is None:
        release = dict(tag_name=args.version)

    # Upload Electron with GitHub Releases API.
    upload_electron(github, release, os.path.join(DIST_DIR, DIST_NAME), args)
    if get_target_arch() != 'mips64el':
        upload_electron(github, release, os.path.join(DIST_DIR, SYMBOLS_NAME),
                        args)
    if PLATFORM == 'darwin':
        upload_electron(github, release,
                        os.path.join(DIST_DIR, 'electron-api.json'), args)
        upload_electron(github, release, os.path.join(DIST_DIR,
                                                      'electron.d.ts'), args)
        upload_electron(github, release, os.path.join(DIST_DIR, DSYM_NAME),
                        args)
    elif PLATFORM == 'win32':
        upload_electron(github, release, os.path.join(DIST_DIR, PDB_NAME),
                        args)

    # Upload free version of ffmpeg.
    ffmpeg = get_zip_name('ffmpeg', ELECTRON_VERSION)
    upload_electron(github, release, os.path.join(DIST_DIR, ffmpeg), args)

    chromedriver = get_zip_name('chromedriver', ELECTRON_VERSION)
    upload_electron(github, release, os.path.join(DIST_DIR, chromedriver),
                    args)
    mksnapshot = get_zip_name('mksnapshot', ELECTRON_VERSION)
    upload_electron(github, release, os.path.join(DIST_DIR, mksnapshot), args)

    if get_target_arch().startswith('arm'):
        # Upload the x64 binary for arm/arm64 mksnapshot
        mksnapshot = get_zip_name('mksnapshot', ELECTRON_VERSION, 'x64')
        upload_electron(github, release, os.path.join(DIST_DIR, mksnapshot),
                        args)

    if not tag_exists and not args.upload_to_s3:
        # Upload symbols to symbol server.
        run_python_script('upload-symbols.py')
        if PLATFORM == 'win32':
            # Upload node headers.
            run_python_script('create-node-headers.py', '-v', args.version)
            run_python_script('upload-node-headers.py', '-v', args.version)
Ejemplo n.º 12
0
def main():
    args = parse_args()

    if not args.publish_release:
        if not dist_newer_than_head():
            create_dist = os.path.join(SOURCE_ROOT, 'script', 'create-dist.py')
            execute([sys.executable, create_dist])

        build_version = get_atom_shell_build_version()
        if not ATOM_SHELL_VERSION.startswith(build_version):
            error = 'Tag name ({0}) should match build version ({1})\n'.format(
                ATOM_SHELL_VERSION, build_version)
            sys.stderr.write(error)
            sys.stderr.flush()
            return 1

    github = GitHub(auth_token())
    releases = github.repos(ATOM_SHELL_REPO).releases.get()
    tag_exists = False
    for release in releases:
        if not release['draft'] and release['tag_name'] == args.version:
            tag_exists = True
            break

    release = create_or_get_release_draft(github, releases, args.version,
                                          tag_exists)

    if args.publish_release:
        # Upload the SHASUMS.txt.
        execute([
            sys.executable,
            os.path.join(SOURCE_ROOT, 'script', 'upload-checksums.py'), '-v',
            ATOM_SHELL_VERSION
        ])

        # Upload the index.json.
        execute([
            sys.executable,
            os.path.join(SOURCE_ROOT, 'script', 'upload-index-json.py')
        ])

        # Press the publish button.
        publish_release(github, release['id'])

        # Do not upload other files when passed "-p".
        return

    # Upload atom-shell with GitHub Releases API.
    upload_atom_shell(github, release, os.path.join(DIST_DIR, DIST_NAME))
    upload_atom_shell(github, release, os.path.join(DIST_DIR, SYMBOLS_NAME))

    # Upload chromedriver and mksnapshot for minor version update.
    if parse_version(args.version)[2] == '0':
        chromedriver = 'chromedriver-{0}-{1}-{2}.zip'.format(
            get_chromedriver_version(), get_platform_key(), get_target_arch())
        upload_atom_shell(github, release,
                          os.path.join(DIST_DIR, chromedriver))
        upload_atom_shell(github, release,
                          os.path.join(DIST_DIR, MKSNAPSHOT_NAME))

    if PLATFORM == 'win32' and not tag_exists:
        # Upload node headers.
        execute([
            sys.executable,
            os.path.join(SOURCE_ROOT, 'script', 'upload-node-headers.py'),
            '-v', args.version
        ])
Ejemplo n.º 13
0
def main():
    args = parse_args()

    if not args.publish_release:
        build_version = get_brave_version()
        if not get_brave_version().startswith(build_version):
            error = 'Tag name ({0}) should match build version ({1})\n'.format(
                get_brave_version(), build_version)
            sys.stderr.write(error)
            sys.stderr.flush()
            return 1

    github = GitHub(auth_token())
    releases = github.repos(BRAVE_REPO).releases.get()
    tag_exists = False
    for release in releases:
        if not release['draft'] and release['tag_name'] == args.version:
            tag_exists = True
            break

    release = create_or_get_release_draft(github, releases, args.version,
                                          tag_exists)

    if args.publish_release:
        # Create and upload the Brave SHASUMS*.txt
        release_brave_checksums(github, release)

        # Press the publish button.
        # publish_release(github, release['id'])

        # Do not upload other files when passed "-p".
        return

    # Upload Brave with GitHub Releases API.
    upload_brave(github, release, os.path.join(dist_dir(), DIST_NAME))
    upload_brave(github, release, os.path.join(dist_dir(), SYMBOLS_NAME))
    # if PLATFORM == 'darwin':
    #   upload_brave(github, release, os.path.join(dist_dir(), DSYM_NAME))
    # elif PLATFORM == 'win32':
    #   upload_brave(github, release, os.path.join(dist_dir(), PDB_NAME))

    # Upload chromedriver and mksnapshot.
    chromedriver = get_zip_name('chromedriver', get_chromedriver_version())
    upload_brave(github, release, os.path.join(dist_dir(), chromedriver))

    if PLATFORM == 'darwin':
        upload_brave(github, release, os.path.join(output_dir(), 'Brave.dmg'))
    elif PLATFORM == 'win32':
        if get_target_arch() == 'x64':
            upload_brave(github, release,
                         os.path.join(output_dir(), 'brave_installer.exe'),
                         'brave_installer-x64.exe')
        else:
            upload_brave(github, release,
                         os.path.join(output_dir(), 'brave_installer.exe'),
                         'brave_installer-ia32.exe')
    # TODO: Enable after linux packaging lands
    #else:
    #if get_target_arch() == 'x64':
    #upload_brave(github, release, os.path.join(output_dir(), 'brave-x86_64.rpm'))
    #upload_brave(github, release, os.path.join(output_dir(), 'brave-amd64.deb'))
    #else:
    #upload_brave(github, release, os.path.join(output_dir(), 'brave-i386.rpm'))
    #upload_brave(github, release, os.path.join(output_dir(), 'brave-i386.deb'))

    # mksnapshot = get_zip_name('mksnapshot', get_brave_version())
    # upload_brave(github, release, os.path.join(dist_dir(), mksnapshot))

    # if PLATFORM == 'win32' and not tag_exists:
    #   # Upload PDBs to Windows symbol server.
    #   run_python_script('upload-windows-pdb.py')

    versions = parse_version(args.version)
    version = '.'.join(versions[:3])
Ejemplo n.º 14
0
def main():
  args = parse_args()

  if not dist_newer_than_head():
    run_python_script('create-dist.py')

  build_version = get_electron_build_version()
  if not ELECTRON_VERSION.startswith(build_version):
    error = 'Tag name ({0}) should match build version ({1})\n'.format(
        ELECTRON_VERSION, build_version)
    sys.stderr.write(error)
    sys.stderr.flush()
    return 1

  github = GitHub(auth_token())
  releases = github.repos(ELECTRON_REPO).releases.get()
  tag_exists = False
  for r in releases:
    if not r['draft'] and r['tag_name'] == args.version:
      release = r
      tag_exists = True
      break

  if not args.upload_to_s3:
    assert tag_exists == args.overwrite, \
          'You have to pass --overwrite to overwrite a published release'
    if not args.overwrite:
      release = create_or_get_release_draft(github, releases, args.version,
                                            tag_exists)

  # Upload Electron with GitHub Releases API.
  upload_electron(github, release, os.path.join(DIST_DIR, DIST_NAME),
                  args.upload_to_s3)
  if get_target_arch() != 'mips64el':
    upload_electron(github, release, os.path.join(DIST_DIR, SYMBOLS_NAME),
                    args.upload_to_s3)
  if PLATFORM == 'darwin':
    upload_electron(github, release, os.path.join(DIST_DIR,
                    'electron-api.json'), args.upload_to_s3)
    upload_electron(github, release, os.path.join(DIST_DIR, 'electron.d.ts'),
                    args.upload_to_s3)
    upload_electron(github, release, os.path.join(DIST_DIR, DSYM_NAME),
                    args.upload_to_s3)
  elif PLATFORM == 'win32':
    upload_electron(github, release, os.path.join(DIST_DIR, PDB_NAME),
                    args.upload_to_s3)

  # Upload free version of ffmpeg.
  ffmpeg = get_zip_name('ffmpeg', ELECTRON_VERSION)
  upload_electron(github, release, os.path.join(DIST_DIR, ffmpeg),
                  args.upload_to_s3)

  chromedriver = get_zip_name('chromedriver', ELECTRON_VERSION)
  upload_electron(github, release, os.path.join(DIST_DIR, chromedriver),
                  args.upload_to_s3)
  mksnapshot = get_zip_name('mksnapshot', ELECTRON_VERSION)
  upload_electron(github, release, os.path.join(DIST_DIR, mksnapshot),
                args.upload_to_s3)

  if get_target_arch().startswith('arm'):
    # Upload the x64 binary for arm/arm64 mksnapshot
    mksnapshot = get_zip_name('mksnapshot', ELECTRON_VERSION, 'x64')
    upload_electron(github, release, os.path.join(DIST_DIR, mksnapshot),
                    args.upload_to_s3)

  if PLATFORM == 'win32' and not tag_exists and not args.upload_to_s3:
    # Upload PDBs to Windows symbol server.
    run_python_script('upload-windows-pdb.py')

    # Upload node headers.
    run_python_script('create-node-headers.py', '-v', args.version)
    run_python_script('upload-node-headers.py', '-v', args.version)
Ejemplo n.º 15
0
def main():
  args = parse_args()

  if not args.publish_release:
    if not dist_newer_than_head():
      run_python_script('create-dist.py')

    build_version = get_electron_build_version()
    if not ELECTRON_VERSION.startswith(build_version):
      error = 'Tag name ({0}) should match build version ({1})\n'.format(
          ELECTRON_VERSION, build_version)
      sys.stderr.write(error)
      sys.stderr.flush()
      return 1

  github = GitHub(auth_token())
  releases = github.repos(ELECTRON_REPO).releases.get()
  tag_exists = False
  for release in releases:
    if not release['draft'] and release['tag_name'] == args.version:
      tag_exists = True
      break

  release = create_or_get_release_draft(github, releases, args.version,
                                        tag_exists)

  if args.publish_release:
    # Upload the Node SHASUMS*.txt.
    run_python_script('upload-node-checksums.py', '-v', ELECTRON_VERSION)

    # Upload the index.json.
    run_python_script('upload-index-json.py')

    # Create and upload the Electron SHASUMS*.txt
    release_electron_checksums(github, release)

    # Press the publish button.
    publish_release(github, release['id'])

    # Do not upload other files when passed "-p".
    return

  # Upload Electron with GitHub Releases API.
  upload_electron(github, release, os.path.join(DIST_DIR, DIST_NAME))
  upload_electron(github, release, os.path.join(DIST_DIR, SYMBOLS_NAME))
  if PLATFORM == 'darwin':
    upload_electron(github, release, os.path.join(DIST_DIR,
                    'electron-api.json'))
    upload_electron(github, release, os.path.join(DIST_DIR, 'electron.d.ts'))
    upload_electron(github, release, os.path.join(DIST_DIR, DSYM_NAME))
  elif PLATFORM == 'win32':
    upload_electron(github, release, os.path.join(DIST_DIR, PDB_NAME))

  # Upload free version of ffmpeg.
  ffmpeg = get_zip_name('ffmpeg', ELECTRON_VERSION)
  upload_electron(github, release, os.path.join(DIST_DIR, ffmpeg))

  # Upload chromedriver and mksnapshot for minor version update.
  if parse_version(args.version)[2] == '0':
    chromedriver = get_zip_name('chromedriver', ELECTRON_VERSION)
    upload_electron(github, release, os.path.join(DIST_DIR, chromedriver))
    mksnapshot = get_zip_name('mksnapshot', ELECTRON_VERSION)
    upload_electron(github, release, os.path.join(DIST_DIR, mksnapshot))

  if PLATFORM == 'win32' and not tag_exists:
    # Upload PDBs to Windows symbol server.
    run_python_script('upload-windows-pdb.py')

    # Upload node headers.
    run_python_script('upload-node-headers.py', '-v', args.version)