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