mirror of
https://github.com/withastro/astro.git
synced 2024-12-16 21:46:22 -05:00
Run all smoke tests with the static build (#2609)
* Run all smoke tests with the static build * Use a direct relative path * Always use the static build * Use a path that works in both static and regualr build * Always download the zip * astro.build only needs to run once
This commit is contained in:
parent
a81660e39a
commit
2ad88a9235
2 changed files with 34 additions and 28 deletions
|
@ -11,6 +11,6 @@
|
|||
|
||||
<body>
|
||||
<h1>Welcome to <a href="https://astro.build/">Astro</a></h1>
|
||||
<script src={Astro.resolve('../index.ts')} type="module" hoist></script>
|
||||
<script src="/src/index.ts" type="module" hoist></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -58,6 +58,20 @@ async function run() {
|
|||
process.exit(1);
|
||||
}
|
||||
|
||||
// Run with the static build too
|
||||
if(directory.pathname.includes('astro.build')) {
|
||||
// astro.build uses the static build, so rerunning with the flag actually negates it.
|
||||
continue;
|
||||
}
|
||||
|
||||
try {
|
||||
await execa('yarn', ['build', '--', '--experimental-static-build'], { cwd: fileURLToPath(directory), stdout: 'inherit', stderr: 'inherit' });
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log();
|
||||
}
|
||||
}
|
||||
|
@ -79,42 +93,34 @@ const downloadGithubZip = async (/** @type {GithubOpts} */ opts) => {
|
|||
/** Expected directory when the zip is downloaded. */
|
||||
const githubDir = new URL(`${opts.name}-${opts.branch}`, scriptDir);
|
||||
|
||||
/** Whether the expected directory is already available */
|
||||
const hasGithubDir = await fs.stat(githubDir).then(
|
||||
(stats) => stats.isDirectory(),
|
||||
() => false
|
||||
);
|
||||
console.log('🤖', 'Downloading', `${opts.org}/${opts.name}#${opts.branch}`);
|
||||
|
||||
if (!hasGithubDir) {
|
||||
console.log('🤖', 'Downloading', `${opts.org}/${opts.name}#${opts.branch}`);
|
||||
const buffer = await fetchGithubZip(opts);
|
||||
|
||||
const buffer = await fetchGithubZip(opts);
|
||||
console.log('🤖', 'Extracting', `${opts.org}/${opts.name}#${opts.branch}`);
|
||||
|
||||
console.log('🤖', 'Extracting', `${opts.org}/${opts.name}#${opts.branch}`);
|
||||
new Zip(buffer).extractAllTo(fileURLToPath(scriptDir), true);
|
||||
|
||||
new Zip(buffer).extractAllTo(fileURLToPath(scriptDir), true);
|
||||
console.log('🤖', 'Preparing', `${opts.org}/${opts.name}#${opts.branch}`);
|
||||
|
||||
console.log('🤖', 'Preparing', `${opts.org}/${opts.name}#${opts.branch}`);
|
||||
const astroPackage = await readDirectoryPackage(astroDir);
|
||||
|
||||
const astroPackage = await readDirectoryPackage(astroDir);
|
||||
const githubPackage = await readDirectoryPackage(githubDir);
|
||||
|
||||
const githubPackage = await readDirectoryPackage(githubDir);
|
||||
|
||||
if ('astro' in Object(githubPackage.dependencies)) {
|
||||
githubPackage.dependencies['astro'] = astroPackage.version;
|
||||
}
|
||||
|
||||
if ('astro' in Object(githubPackage.devDependencies)) {
|
||||
githubPackage.devDependencies['astro'] = astroPackage.version;
|
||||
}
|
||||
|
||||
if ('astro' in Object(githubPackage.peerDependencies)) {
|
||||
githubPackage.peerDependencies['astro'] = astroPackage.version;
|
||||
}
|
||||
|
||||
await writeDirectoryPackage(githubDir, githubPackage);
|
||||
if ('astro' in Object(githubPackage.dependencies)) {
|
||||
githubPackage.dependencies['astro'] = astroPackage.version;
|
||||
}
|
||||
|
||||
if ('astro' in Object(githubPackage.devDependencies)) {
|
||||
githubPackage.devDependencies['astro'] = astroPackage.version;
|
||||
}
|
||||
|
||||
if ('astro' in Object(githubPackage.peerDependencies)) {
|
||||
githubPackage.peerDependencies['astro'] = astroPackage.version;
|
||||
}
|
||||
|
||||
await writeDirectoryPackage(githubDir, githubPackage);
|
||||
|
||||
return githubDir;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue