def bump_patcher_config(self, channel_config): # TODO: to make it possible to run this before we have files copied to # the candidates directory, we need to add support to fetch build IDs # from tasks. dirs = self.query_abs_dirs() env = {"PERL5LIB": os.path.join(dirs["abs_tools_dir"], "lib/perl")} partial_versions = [v[0] for v in self.query_matching_partials(channel_config)] script = os.path.join( dirs["abs_tools_dir"], "release/patcher-config-bump.pl") patcher_config = self.query_patcher_config(channel_config) cmd = [self.query_exe("perl"), script] cmd.extend([ "-p", self.config["product"], "-r", self.config["product"].capitalize(), "-v", self.config["version"], "-a", self.config["appVersion"], "-o", get_previous_version( self.config["version"], partial_versions), "-b", str(self.config["build_number"]), "-c", patcher_config, "-f", self.config["archive_domain"], "-d", self.config["download_domain"], "-l", self.query_shipped_locales_path(), ]) for v in partial_versions: cmd.extend(["--partial-version", v]) for p in self.config["platforms"]: cmd.extend(["--platform", p]) for mar_channel_id in channel_config["mar_channel_ids"]: cmd.extend(["--mar-channel-id", mar_channel_id]) self.run_command(cmd, halt_on_failure=True, env=env)
def bump_patcher_config(self, channel_config): # TODO: to make it possible to run this before we have files copied to # the candidates directory, we need to add support to fetch build IDs # from tasks. dirs = self.query_abs_dirs() env = {"PERL5LIB": os.path.join(dirs["abs_tools_dir"], "lib/perl")} partial_versions = [v[0] for v in self.query_matching_partials(channel_config)] script = os.path.join( dirs["abs_tools_dir"], "release/patcher-config-bump.pl") patcher_config = self.query_patcher_config(channel_config) cmd = [self.query_exe("perl"), script] cmd.extend([ "-p", self.config["product"], "-r", self.config["product"].capitalize(), "-v", self.config["version"], "-a", self.config["appVersion"], "-o", get_previous_version( self.config["version"], partial_versions), "-b", str(self.config["build_number"]), "-c", patcher_config, "-f", self.config["archive_domain"], "-d", self.config["download_domain"], "-l", self.query_shipped_locales_path(), ]) for v in partial_versions: cmd.extend(["--partial-version", v]) for p in self.config["platforms"]: cmd.extend(["--platform", p]) for mar_channel_id in channel_config["mar_channel_ids"]: cmd.extend(["--mar-channel-id", mar_channel_id]) self.run_command(cmd, halt_on_failure=True, env=env)
def testESR(self): self.assertEquals( '31.5.3esr', get_previous_version('31.6.0esr', ['31.5.3esr', '31.5.2esr', '31.4.0esr']))
def testTwoDots(self): self.assertEquals('37.1.0', get_previous_version('38.0b1', ['37.1.0', '36.0']))
def testBetaFirstInCycle(self): self.assertEquals('37.0', get_previous_version('38.0b1', ['37.0', '37.0b7']))
def testBetaEarlyCycle(self): # 37.0 is the RC build self.assertEquals('38.0b1', get_previous_version('38.0b2', ['38.0b1', '37.0']))
def testBetaMidCycle(self): self.assertEquals('37.0b4', get_previous_version('37.0b5', ['37.0b4', '37.0b3']))
def testReleaseBuild2(self): self.assertEquals( '36.0.4', get_previous_version('37.0', ['37.0', '36.0.4', '36.0.1', '35.0.1']))
def testESR(self): self.assertEquals( '31.5.3esr', get_previous_version('31.6.0esr', ['31.5.3esr', '31.5.2esr', '31.4.0esr']))
def testTwoDots(self): self.assertEquals( '37.1.0', get_previous_version('38.0b1', ['37.1.0', '36.0']))
def testBetaFirstInCycle(self): self.assertEquals( '37.0', get_previous_version('38.0b1', ['37.0', '37.0b7']))
def testBetaEarlyCycle(self): # 37.0 is the RC build self.assertEquals( '38.0b1', get_previous_version('38.0b2', ['38.0b1', '37.0']))
def testBetaMidCycle(self): self.assertEquals( '37.0b4', get_previous_version('37.0b5', ['37.0b4', '37.0b3']))
def testReleaseBuild2(self): self.assertEquals( '36.0.4', get_previous_version('37.0', ['37.0', '36.0.4', '36.0.1', '35.0.1']))