improve cache
This commit is contained in:
@@ -18,7 +18,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: xmake-io/github-action-setup-xmake@test
|
||||
- uses: xmake-io/github-action-setup-xmake@cache
|
||||
with:
|
||||
xmake-version: ${{ matrix.version }}
|
||||
actions-cache-folder: '.xmake-cache'
|
||||
|
||||
@@ -32,3 +32,4 @@ inputs:
|
||||
runs:
|
||||
using: 'node20'
|
||||
main: 'dist/index.js'
|
||||
post: 'dist/index.js'
|
||||
|
||||
Vendored
+22
-15
@@ -87473,29 +87473,36 @@ const versions_1 = __nccwpck_require__(406);
|
||||
const stateHelper = __nccwpck_require__(8387);
|
||||
const win_install_1 = __nccwpck_require__(1612);
|
||||
const unix_install_1 = __nccwpck_require__(6689);
|
||||
async function cacheBuild() { }
|
||||
async function cachePackages() { }
|
||||
async function installXmake() {
|
||||
const version = await (0, versions_1.selectVersion)();
|
||||
if (os.platform() === 'win32' || os.platform() === 'cygwin') {
|
||||
const latest = await (0, versions_1.selectVersion)('latest');
|
||||
await (0, win_install_1.winInstall)(version, latest);
|
||||
}
|
||||
else {
|
||||
await (0, unix_install_1.unixInstall)(version);
|
||||
}
|
||||
await (0, exec_1.exec)('xmake --root --version');
|
||||
}
|
||||
async function loadBuildCache() { }
|
||||
async function loadPackagesCache() { }
|
||||
async function saveBuildCache() { }
|
||||
async function savePackagesCache() { }
|
||||
async function run() {
|
||||
try {
|
||||
const version = await (0, versions_1.selectVersion)();
|
||||
if (os.platform() === 'win32' || os.platform() === 'cygwin') {
|
||||
const latest = await (0, versions_1.selectVersion)('latest');
|
||||
await (0, win_install_1.winInstall)(version, latest);
|
||||
}
|
||||
else {
|
||||
await (0, unix_install_1.unixInstall)(version);
|
||||
}
|
||||
await (0, exec_1.exec)('xmake --root --version');
|
||||
await installXmake();
|
||||
await loadBuildCache();
|
||||
await loadPackagesCache();
|
||||
}
|
||||
catch (error) {
|
||||
const ex = error;
|
||||
core.setFailed(ex.message);
|
||||
}
|
||||
}
|
||||
async function cleanup() {
|
||||
async function saveCache() {
|
||||
try {
|
||||
core.info(`cleanup`);
|
||||
await cacheBuild();
|
||||
await saveBuildCache();
|
||||
await savePackagesCache();
|
||||
}
|
||||
catch (error) {
|
||||
const ex = error;
|
||||
@@ -87506,7 +87513,7 @@ if (!stateHelper.IsPost) {
|
||||
run().catch((e) => core.error(e));
|
||||
}
|
||||
else {
|
||||
cleanup().catch((e) => core.error(e));
|
||||
saveCache().catch((e) => core.error(e));
|
||||
}
|
||||
|
||||
})();
|
||||
|
||||
+24
-14
@@ -6,30 +6,40 @@ import * as stateHelper from './state-helper';
|
||||
import { winInstall } from './win-install';
|
||||
import { unixInstall } from './unix-install';
|
||||
|
||||
async function cacheBuild(): Promise<void> {}
|
||||
async function installXmake(): Promise<void> {
|
||||
const version = await selectVersion();
|
||||
if (os.platform() === 'win32' || os.platform() === 'cygwin') {
|
||||
const latest = await selectVersion('latest');
|
||||
await winInstall(version, latest);
|
||||
} else {
|
||||
await unixInstall(version);
|
||||
}
|
||||
await exec('xmake --root --version');
|
||||
}
|
||||
|
||||
async function cachePackages(): Promise<void> {}
|
||||
async function loadBuildCache(): Promise<void> {}
|
||||
|
||||
async function loadPackagesCache(): Promise<void> {}
|
||||
|
||||
async function saveBuildCache(): Promise<void> {}
|
||||
|
||||
async function savePackagesCache(): Promise<void> {}
|
||||
|
||||
async function run(): Promise<void> {
|
||||
try {
|
||||
const version = await selectVersion();
|
||||
if (os.platform() === 'win32' || os.platform() === 'cygwin') {
|
||||
const latest = await selectVersion('latest');
|
||||
await winInstall(version, latest);
|
||||
} else {
|
||||
await unixInstall(version);
|
||||
}
|
||||
await exec('xmake --root --version');
|
||||
await installXmake();
|
||||
await loadBuildCache();
|
||||
await loadPackagesCache();
|
||||
} catch (error) {
|
||||
const ex = error as Error;
|
||||
core.setFailed(ex.message);
|
||||
}
|
||||
}
|
||||
|
||||
async function cleanup(): Promise<void> {
|
||||
async function saveCache(): Promise<void> {
|
||||
try {
|
||||
core.info(`cleanup`);
|
||||
await cacheBuild();
|
||||
await saveBuildCache();
|
||||
await savePackagesCache();
|
||||
} catch (error) {
|
||||
const ex = error as Error;
|
||||
core.setFailed(ex.message);
|
||||
@@ -39,5 +49,5 @@ async function cleanup(): Promise<void> {
|
||||
if (!stateHelper.IsPost) {
|
||||
run().catch((e: Error) => core.error(e));
|
||||
} else {
|
||||
cleanup().catch((e: Error) => core.error(e));
|
||||
saveCache().catch((e: Error) => core.error(e));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user