Compare commits

..

10 Commits

9 changed files with 342 additions and 411 deletions
+5 -3
View File
@@ -13,12 +13,12 @@ jobs:
cancel-in-progress: true cancel-in-progress: true
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v6
- name: install - name: install
uses: wyvox/action-setup-pnpm@v3 uses: wyvox/action-setup-pnpm@v3
with: with:
node-version: 23 node-version: 24
pnpm-version: 9 pnpm-version: 10
- name: build - name: build
run: pnpm build run: pnpm build
- name: test - name: test
@@ -28,6 +28,8 @@ jobs:
- name: 'check for uncommitted changes' - name: 'check for uncommitted changes'
# Ensure no changes # Ensure no changes
run: | run: |
pnpm --version
node --version
git add . git add .
if ! git diff --cached --color=always --exit-code -- . ':!node_modules'; then if ! git diff --cached --color=always --exit-code -- . ':!node_modules'; then
echo "::error::Found changed files after build. Please run 'pnpm release' and check in all changes." echo "::error::Found changed files after build. Please run 'pnpm release' and check in all changes."
+25 -5
View File
@@ -17,21 +17,41 @@ jobs:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v6
- uses: xmake-io/github-action-setup-xmake@master - uses: xmake-io/github-action-setup-xmake@master
with: with:
xmake-version: ${{ matrix.version }} xmake-version: ${{ matrix.version }}
actions-cache-folder: '.xmake-cache' actions-cache-folder: '.xmake-cache'
actions-cache-key: ${{ matrix.version }} actions-cache-key: ${{ matrix.version }}-relative
build-cache: true build-cache: true
build-cache-key: ${{ matrix.version }} build-cache-key: ${{ matrix.version }}-relative
package-cache: true package-cache: true
package-cache-key: ${{ matrix.version }} package-cache-key: ${{ matrix.version }}-relative
project-path: 'tests/sample' project-path: 'tests/sample'
- name: Run tests - name: Run tests with relative cache path
run: | run: |
xmake --version xmake --version
cd tests/sample cd tests/sample
xmake -y -vD xmake -y -vD
xmake run xmake run
xmake clean
- uses: xmake-io/github-action-setup-xmake@master
with:
xmake-version: ${{ matrix.version }}
actions-cache-folder: '${{ runner.temp }}/xmake-cache'
actions-cache-key: ${{ matrix.version }}-absolute
build-cache: true
build-cache-key: ${{ matrix.version }}-absolute
package-cache: true
package-cache-key: ${{ matrix.version }}-absolute
project-path: 'tests/sample'
- name: Run tests with absolute cache path
run: |
xmake --version
cd tests/sample
xmake -y -vD
xmake run
xmake clean
+1 -1
View File
@@ -36,6 +36,6 @@ inputs:
default: '' default: ''
runs: runs:
using: 'node20' using: 'node24'
main: 'dist/index.js' main: 'dist/index.js'
post: 'dist/index.js' post: 'dist/index.js'
+4 -4
View File
@@ -71069,7 +71069,7 @@ async function unixInstall(version) {
const platformIdentifier = await (0, system_1.getPlatformIdentifier)(); const platformIdentifier = await (0, system_1.getPlatformIdentifier)();
const cacheKey = `xmake-cache-${actionsCacheKey}-${ver}-${sha}-${platformIdentifier}`; const cacheKey = `xmake-cache-${actionsCacheKey}-${ver}-${sha}-${platformIdentifier}`;
if (actionsCacheFolder && process.env.GITHUB_WORKSPACE) { if (actionsCacheFolder && process.env.GITHUB_WORKSPACE) {
const fullCachePath = path.join(process.env.GITHUB_WORKSPACE, actionsCacheFolder); const fullCachePath = path.resolve(process.env.GITHUB_WORKSPACE, actionsCacheFolder);
try { try {
try { try {
fs.accessSync(path.join(fullCachePath, 'bin', 'xmake'), fs.constants.X_OK); fs.accessSync(path.join(fullCachePath, 'bin', 'xmake'), fs.constants.X_OK);
@@ -71096,7 +71096,7 @@ async function unixInstall(version) {
await install(sourceDir, binDir); await install(sourceDir, binDir);
let cacheDir = ''; let cacheDir = '';
if (actionsCacheFolder && process.env.GITHUB_WORKSPACE) { if (actionsCacheFolder && process.env.GITHUB_WORKSPACE) {
cacheDir = path.join(process.env.GITHUB_WORKSPACE, actionsCacheFolder); cacheDir = path.resolve(process.env.GITHUB_WORKSPACE, actionsCacheFolder);
await io.cp(binDir, cacheDir, { await io.cp(binDir, cacheDir, {
recursive: true, recursive: true,
}); });
@@ -71383,7 +71383,7 @@ async function winInstall(version) {
const cacheKey = `xmake-cache-${actionsCacheKey}-${ver}-${sha}-${platformIdentifier}`; const cacheKey = `xmake-cache-${actionsCacheKey}-${ver}-${sha}-${platformIdentifier}`;
let toolDir = ''; let toolDir = '';
if (actionsCacheFolder && process.env.GITHUB_WORKSPACE) { if (actionsCacheFolder && process.env.GITHUB_WORKSPACE) {
const fullCachePath = path.join(process.env.GITHUB_WORKSPACE, actionsCacheFolder); const fullCachePath = path.resolve(process.env.GITHUB_WORKSPACE, actionsCacheFolder);
try { try {
try { try {
fs.accessSync(path.join(fullCachePath, 'xmake.exe'), fs.constants.X_OK); fs.accessSync(path.join(fullCachePath, 'xmake.exe'), fs.constants.X_OK);
@@ -71442,7 +71442,7 @@ async function winInstall(version) {
if (toolDir) { if (toolDir) {
let cacheDir = ''; let cacheDir = '';
if (actionsCacheFolder && process.env.GITHUB_WORKSPACE) { if (actionsCacheFolder && process.env.GITHUB_WORKSPACE) {
cacheDir = path.join(process.env.GITHUB_WORKSPACE, actionsCacheFolder); cacheDir = path.resolve(process.env.GITHUB_WORKSPACE, actionsCacheFolder);
await io.cp(toolDir, cacheDir, { await io.cp(toolDir, cacheDir, {
recursive: true, recursive: true,
}); });
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "github-action-setup-xmake", "name": "github-action-setup-xmake",
"version": "1.2.3", "version": "1.2.5",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "github-action-setup-xmake", "name": "github-action-setup-xmake",
"version": "1.2.3", "version": "1.2.5",
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
"dependencies": { "dependencies": {
"@actions/cache": "^4.0.3", "@actions/cache": "^4.0.3",
+7 -7
View File
@@ -1,6 +1,6 @@
{ {
"name": "github-action-setup-xmake", "name": "github-action-setup-xmake",
"version": "1.2.3", "version": "1.2.5",
"description": "Set up your GitHub Actions workflow with a specific version of xmake", "description": "Set up your GitHub Actions workflow with a specific version of xmake",
"main": "dist/index.js", "main": "dist/index.js",
"author": "OpportunityLiu", "author": "OpportunityLiu",
@@ -18,12 +18,12 @@
"release": "pnpm clean && pnpm format && pnpm lint && pnpm build" "release": "pnpm clean && pnpm format && pnpm lint && pnpm build"
}, },
"dependencies": { "dependencies": {
"@actions/cache": "^4.0.3", "@actions/cache": "^5.0.5",
"@actions/core": "^1.11.1", "@actions/core": "^2.0.3",
"@actions/exec": "^1.1.1", "@actions/exec": "^2.0.0",
"@actions/io": "^1.1.3", "@actions/io": "^2.0.0",
"@actions/tool-cache": "^2.0.2", "@actions/tool-cache": "^3.0.1",
"semver": "^7.7.2" "semver": "^7.7.4"
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^29.5.12", "@types/jest": "^29.5.12",
+294 -385
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -37,7 +37,7 @@ export async function unixInstall(version: Version): Promise<void> {
const cacheKey = `xmake-cache-${actionsCacheKey}-${ver}-${sha}-${platformIdentifier}`; const cacheKey = `xmake-cache-${actionsCacheKey}-${ver}-${sha}-${platformIdentifier}`;
if (actionsCacheFolder && process.env.GITHUB_WORKSPACE) { if (actionsCacheFolder && process.env.GITHUB_WORKSPACE) {
const fullCachePath = path.join(process.env.GITHUB_WORKSPACE, actionsCacheFolder); const fullCachePath = path.resolve(process.env.GITHUB_WORKSPACE, actionsCacheFolder);
try { try {
try { try {
fs.accessSync(path.join(fullCachePath, 'bin', 'xmake'), fs.constants.X_OK); fs.accessSync(path.join(fullCachePath, 'bin', 'xmake'), fs.constants.X_OK);
@@ -65,7 +65,7 @@ export async function unixInstall(version: Version): Promise<void> {
let cacheDir = ''; let cacheDir = '';
if (actionsCacheFolder && process.env.GITHUB_WORKSPACE) { if (actionsCacheFolder && process.env.GITHUB_WORKSPACE) {
cacheDir = path.join(process.env.GITHUB_WORKSPACE, actionsCacheFolder); cacheDir = path.resolve(process.env.GITHUB_WORKSPACE, actionsCacheFolder);
await io.cp(binDir, cacheDir, { await io.cp(binDir, cacheDir, {
recursive: true, recursive: true,
}); });
+2 -2
View File
@@ -85,7 +85,7 @@ export async function winInstall(version: Version): Promise<void> {
let toolDir = ''; let toolDir = '';
if (actionsCacheFolder && process.env.GITHUB_WORKSPACE) { if (actionsCacheFolder && process.env.GITHUB_WORKSPACE) {
const fullCachePath = path.join(process.env.GITHUB_WORKSPACE, actionsCacheFolder); const fullCachePath = path.resolve(process.env.GITHUB_WORKSPACE, actionsCacheFolder);
try { try {
try { try {
fs.accessSync(path.join(fullCachePath, 'xmake.exe'), fs.constants.X_OK); fs.accessSync(path.join(fullCachePath, 'xmake.exe'), fs.constants.X_OK);
@@ -146,7 +146,7 @@ export async function winInstall(version: Version): Promise<void> {
if (toolDir) { if (toolDir) {
let cacheDir = ''; let cacheDir = '';
if (actionsCacheFolder && process.env.GITHUB_WORKSPACE) { if (actionsCacheFolder && process.env.GITHUB_WORKSPACE) {
cacheDir = path.join(process.env.GITHUB_WORKSPACE, actionsCacheFolder); cacheDir = path.resolve(process.env.GITHUB_WORKSPACE, actionsCacheFolder);
await io.cp(toolDir, cacheDir, { await io.cp(toolDir, cacheDir, {
recursive: true, recursive: true,
}); });