fix: resolve the lockFileMaintenance not working

This commit is contained in:
Kayw 2024-11-07 15:40:03 +08:00 committed by Kai Wei
parent 7b5d84dfa2
commit bbd3ef5b4c
11 changed files with 36 additions and 13 deletions

View file

@ -93,7 +93,10 @@ export async function updateArtifacts(
const commands: string[] = []; const commands: string[] = [];
if (config.isLockFileMaintenance) { if (
config.updateType === 'lockFileMaintenance' ||
config.isLockFileMaintenance
) {
commands.push('bundler lock --update'); commands.push('bundler lock --update');
} else { } else {
const bundlerUpgraded = updatedDeps const bundlerUpgraded = updatedDeps
@ -289,6 +292,7 @@ export async function updateArtifacts(
if ( if (
recursionLimit > 0 && recursionLimit > 0 &&
resolveMatches.length && resolveMatches.length &&
config.updateType !== 'lockFileMaintenance' &&
!config.isLockFileMaintenance !config.isLockFileMaintenance
) { ) {
logger.debug( logger.debug(

View file

@ -725,8 +725,8 @@ describe('modules/manager/composer/artifacts', () => {
updatedDeps: [], updatedDeps: [],
newPackageFileContent: '{}', newPackageFileContent: '{}',
config: { config: {
updateType: 'lockFileMaintenance',
...config, ...config,
isLockFileMaintenance: true,
}, },
}), }),
).toEqual([ ).toEqual([

View file

@ -113,6 +113,8 @@ export async function updateArtifacts({
const file = Json.pipe(PackageFile).parse(newPackageFileContent); const file = Json.pipe(PackageFile).parse(newPackageFileContent);
const isLockFileMaintenance =
config.updateType === 'lockFileMaintenance' || config.isLockFileMaintenance;
const lockFileName = packageFileName.replace(regEx(/\.json$/), '.lock'); const lockFileName = packageFileName.replace(regEx(/\.json$/), '.lock');
const lockfile = await z const lockfile = await z
.string() .string()
@ -174,7 +176,7 @@ export async function updateArtifacts({
const cmd = 'composer'; const cmd = 'composer';
let args: string; let args: string;
if (config.isLockFileMaintenance) { if (isLockFileMaintenance) {
args = 'update'; args = 'update';
} else { } else {
args = args =

View file

@ -161,7 +161,8 @@ export async function updateArtifacts({
} }
if ( if (
config.isLockFileMaintenance && (config.updateType === 'lockFileMaintenance' ||
config.isLockFileMaintenance) &&
(!isGradleBuildFile(packageFileName) || (!isGradleBuildFile(packageFileName) ||
dirname(packageFileName) !== dirname(gradlewFile)) dirname(packageFileName) !== dirname(gradlewFile))
) { ) {
@ -205,7 +206,8 @@ export async function updateArtifacts({
.join(' ')}`; .join(' ')}`;
if ( if (
config.isLockFileMaintenance === true || config.updateType === 'lockFileMaintenance' ||
config.isLockFileMaintenance ||
!updatedDeps.length || !updatedDeps.length ||
isGcvPropsFile(packageFileName) isGcvPropsFile(packageFileName)
) { ) {

View file

@ -48,7 +48,10 @@ export async function updateArtifacts(
}; };
try { try {
if (config.isLockFileMaintenance) { if (
config.updateType === 'lockFileMaintenance' ||
config.isLockFileMaintenance
) {
await exec('jb update', execOptions); await exec('jb update', execOptions);
} else { } else {
const dependencyUrls = updatedDeps.map(dependencyUrl); const dependencyUrls = updatedDeps.map(dependencyUrl);

View file

@ -34,7 +34,6 @@ const dockerAdminConfig = {
process.env.CONTAINERBASE = 'true'; process.env.CONTAINERBASE = 'true';
const config: UpdateArtifactsConfig = {}; const config: UpdateArtifactsConfig = {};
const lockMaintenanceConfig = { ...config, isLockFileMaintenance: true };
const updateInputCmd = `nix \ const updateInputCmd = `nix \
--extra-experimental-features 'nix-command flakes' \ --extra-experimental-features 'nix-command flakes' \
flake lock --update-input nixpkgs`; flake lock --update-input nixpkgs`;
@ -294,7 +293,7 @@ describe('modules/manager/nix/artifacts', () => {
packageFileName: 'flake.nix', packageFileName: 'flake.nix',
updatedDeps: [{ depName: 'nixpkgs' }], updatedDeps: [{ depName: 'nixpkgs' }],
newPackageFileContent: '{}', newPackageFileContent: '{}',
config: lockMaintenanceConfig, config: { updateType: 'lockFileMaintenance', ...config },
}); });
expect(res).toEqual([ expect(res).toEqual([

View file

@ -17,6 +17,9 @@ export async function updateArtifacts({
}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> { }: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {
const lockFileName = packageFileName.replace(regEx(/\.nix$/), '.lock'); const lockFileName = packageFileName.replace(regEx(/\.nix$/), '.lock');
const existingLockFileContent = await readLocalFile(lockFileName, 'utf8'); const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');
const isLockFileMaintenance =
config.updateType === 'lockFileMaintenance' || config.isLockFileMaintenance;
if (!existingLockFileContent) { if (!existingLockFileContent) {
logger.debug('No flake.lock found'); logger.debug('No flake.lock found');
return null; return null;
@ -35,7 +38,7 @@ export async function updateArtifacts({
cmd += `--extra-access-tokens github.com=${token} `; cmd += `--extra-access-tokens github.com=${token} `;
} }
if (config.isLockFileMaintenance) { if (isLockFileMaintenance) {
cmd += 'flake update'; cmd += 'flake update';
} else { } else {
const inputs = updatedDeps const inputs = updatedDeps

View file

@ -189,7 +189,7 @@ describe('modules/manager/nuget/artifacts', () => {
newPackageFileContent: '{}', newPackageFileContent: '{}',
config: { config: {
...config, ...config,
isLockFileMaintenance: true, updateType: 'lockFileMaintenance',
}, },
}), }),
).toEqual([ ).toEqual([

View file

@ -138,7 +138,11 @@ export async function updateArtifacts({
} }
try { try {
if (updatedDeps.length === 0 && config.isLockFileMaintenance !== true) { if (
updatedDeps.length === 0 &&
config.updateType !== 'lockFileMaintenance' &&
config.isLockFileMaintenance !== true
) {
logger.debug( logger.debug(
`Not updating lock file because no deps changed and no lock file maintenance.`, `Not updating lock file because no deps changed and no lock file maintenance.`,
); );

View file

@ -110,7 +110,10 @@ export async function updateArtifacts({
try { try {
await writeLocalFile(inputFileName, newInputContent); await writeLocalFile(inputFileName, newInputContent);
// TODO(not7cd): use --upgrade option instead deleting // TODO(not7cd): use --upgrade option instead deleting
if (config.isLockFileMaintenance) { if (
config.updateType === 'lockFileMaintenance' ||
config.isLockFileMaintenance
) {
await deleteLocalFile(outputFileName); await deleteLocalFile(outputFileName);
} }
const compileArgs = extractHeaderCommand(existingOutput, outputFileName); const compileArgs = extractHeaderCommand(existingOutput, outputFileName);

View file

@ -135,7 +135,10 @@ export async function updateArtifacts({
} }
try { try {
await writeLocalFile(pipfileName, newPipfileContent); await writeLocalFile(pipfileName, newPipfileContent);
if (config.isLockFileMaintenance) { if (
config.updateType === 'lockFileMaintenance' ||
config.isLockFileMaintenance
) {
await deleteLocalFile(lockFileName); await deleteLocalFile(lockFileName);
} }
const cmd = 'pipenv lock'; const cmd = 'pipenv lock';