Compare commits

..

1 Commits

Author SHA1 Message Date
GitHub Action
b9e51907a0 build 2025-02-18 06:55:45 +00:00
16 changed files with 31655 additions and 2015 deletions

2
.github/CODEOWNERS vendored
View File

@@ -1 +1 @@
* @Azure/cloud-native-github-action-owners * @Azure/aks-atlanta

View File

@@ -13,7 +13,7 @@ jobs:
# Steps represent a sequence of tasks that will be executed as part of the job # Steps represent a sequence of tasks that will be executed as part of the job
steps: steps:
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 #v9.1.0 - uses: actions/stale@v9
name: Setting issue as idle name: Setting issue as idle
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -24,7 +24,7 @@ jobs:
operations-per-run: 100 operations-per-run: 100
exempt-issue-labels: 'backlog' exempt-issue-labels: 'backlog'
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 #v9.1.0 - uses: actions/stale@v9
name: Setting PR as idle name: Setting PR as idle
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -15,7 +15,7 @@ jobs:
PR_BASE_REF: ${{ github.event.pull_request.base.ref }} PR_BASE_REF: ${{ github.event.pull_request.base.ref }}
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 uses: actions/checkout@v4
- name: npm install and build - name: npm install and build
id: action-npm-build id: action-npm-build
run: | run: |

View File

@@ -10,7 +10,9 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout Repository - name: Checkout Repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 uses: actions/checkout@v4
- name: Enforce Prettier - name: Enforce Prettier
run: npx prettier --check . uses: actionsx/prettier@v3
with:
args: --check .

View File

@@ -13,6 +13,6 @@ jobs:
permissions: permissions:
actions: read actions: read
contents: write contents: write
uses: Azure/action-release-workflows/.github/workflows/release_js_project.yaml@3c677ba5ab58f5c5c1a6f0cfb176b333b1f27405 # v1.0.3 uses: Azure/action-release-workflows/.github/workflows/release_js_project.yaml@v1
with: with:
changelogPath: ./CHANGELOG.md changelogPath: ./CHANGELOG.md

View File

@@ -7,4 +7,4 @@ on:
jobs: jobs:
tag-and-release: tag-and-release:
uses: OliverMKing/javascript-release-workflow/.github/workflows/tag-and-release.yml@c753e1545b144562237cd1177a95bab21a785cff # main uses: OliverMKing/javascript-release-workflow/.github/workflows/tag-and-release.yml@main

View File

@@ -13,7 +13,7 @@ jobs:
build: # make sure build/ci works properly build: # make sure build/ci works properly
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/checkout@v4
- name: Run L0 tests. - name: Run L0 tests.
run: | run: |

3
.gitignore vendored
View File

@@ -11,8 +11,6 @@ pids
*.seed *.seed
*.pid.lock *.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul # Coverage directory used by tools like istanbul
coverage coverage
@@ -64,4 +62,3 @@ node_modules
coverage coverage
# Transpiled JS # Transpiled JS
lib/

View File

@@ -1,7 +0,0 @@
npm test
npm run format-check || {
echo ""
echo "❌ Formatting check failed."
echo "💡 Run 'npm run format' or 'prettier --write .' to fix formatting issues."
exit 1
}

30252
lib/index.js Normal file

File diff suppressed because one or more lines are too long

3290
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -10,8 +10,9 @@
"@actions/exec": "^1.1.1", "@actions/exec": "^1.1.1",
"@actions/io": "^1.1.2", "@actions/io": "^1.1.2",
"@actions/tool-cache": "2.0.2", "@actions/tool-cache": "2.0.2",
"@octokit/action": "^8.0.2", "@octokit/action": "^7.0.0",
"semver": "^7.7.2" "ncc": "^0.3.6",
"semver": "^7.7.1"
}, },
"main": "lib/index.js", "main": "lib/index.js",
"scripts": { "scripts": {
@@ -20,17 +21,15 @@
"test": "jest", "test": "jest",
"test-coverage": "jest --coverage", "test-coverage": "jest --coverage",
"format": "prettier --write .", "format": "prettier --write .",
"format-check": "prettier --check .", "format-check": "prettier --check ."
"prepare": "husky"
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^30.0.0", "@types/jest": "^29.5.14",
"@types/node": "^24.0.13", "@types/node": "^22.13.1",
"@vercel/ncc": "^0.38.3", "@vercel/ncc": "^0.38.3",
"husky": "^9.1.7", "jest": "^29.7.0",
"jest": "^30.0.4", "prettier": "^3.5.0",
"prettier": "^3.6.2", "ts-jest": "^29.2.5",
"ts-jest": "^29.4.0", "typescript": "^5.7.3"
"typescript": "^5.8.3"
} }
} }

View File

@@ -99,20 +99,20 @@ describe('run.ts', () => {
jest.spyOn(fs, 'readdirSync').mockImplementation((file, _) => { jest.spyOn(fs, 'readdirSync').mockImplementation((file, _) => {
if (file == 'mainFolder') if (file == 'mainFolder')
return [ return [
'file1' as unknown as fs.Dirent<Buffer<ArrayBufferLike>>, 'file1' as unknown as fs.Dirent,
'file2' as unknown as fs.Dirent<Buffer<ArrayBufferLike>>, 'file2' as unknown as fs.Dirent,
'folder1' as unknown as fs.Dirent<Buffer<ArrayBufferLike>>, 'folder1' as unknown as fs.Dirent,
'folder2' as unknown as fs.Dirent<Buffer<ArrayBufferLike>> 'folder2' as unknown as fs.Dirent
] ]
if (file == path.join('mainFolder', 'folder1')) if (file == path.join('mainFolder', 'folder1'))
return [ return [
'file11' as unknown as fs.Dirent<Buffer<ArrayBufferLike>>, 'file11' as unknown as fs.Dirent,
'file12' as unknown as fs.Dirent<Buffer<ArrayBufferLike>> 'file12' as unknown as fs.Dirent
] ]
if (file == path.join('mainFolder', 'folder2')) if (file == path.join('mainFolder', 'folder2'))
return [ return [
'file21' as unknown as fs.Dirent<Buffer<ArrayBufferLike>>, 'file21' as unknown as fs.Dirent,
'file22' as unknown as fs.Dirent<Buffer<ArrayBufferLike>> 'file22' as unknown as fs.Dirent
] ]
return [] return []
}) })
@@ -134,20 +134,20 @@ describe('run.ts', () => {
jest.spyOn(fs, 'readdirSync').mockImplementation((file, _) => { jest.spyOn(fs, 'readdirSync').mockImplementation((file, _) => {
if (file == 'mainFolder') if (file == 'mainFolder')
return [ return [
'file1' as unknown as fs.Dirent<Buffer<ArrayBufferLike>>, 'file1' as unknown as fs.Dirent,
'file2' as unknown as fs.Dirent<Buffer<ArrayBufferLike>>, 'file2' as unknown as fs.Dirent,
'folder1' as unknown as fs.Dirent<Buffer<ArrayBufferLike>>, 'folder1' as unknown as fs.Dirent,
'folder2' as unknown as fs.Dirent<Buffer<ArrayBufferLike>> 'folder2' as unknown as fs.Dirent
] ]
if (file == path.join('mainFolder', 'folder1')) if (file == path.join('mainFolder', 'folder1'))
return [ return [
'file11' as unknown as fs.Dirent<Buffer<ArrayBufferLike>>, 'file11' as unknown as fs.Dirent,
'file12' as unknown as fs.Dirent<Buffer<ArrayBufferLike>> 'file12' as unknown as fs.Dirent
] ]
if (file == path.join('mainFolder', 'folder2')) if (file == path.join('mainFolder', 'folder2'))
return [ return [
'file21' as unknown as fs.Dirent<Buffer<ArrayBufferLike>>, 'file21' as unknown as fs.Dirent,
'file22' as unknown as fs.Dirent<Buffer<ArrayBufferLike>> 'file22' as unknown as fs.Dirent
] ]
return [] return []
}) })
@@ -166,8 +166,7 @@ describe('run.ts', () => {
test('findHelm() - change access permissions and find the helm in given directory', () => { test('findHelm() - change access permissions and find the helm in given directory', () => {
jest.spyOn(fs, 'chmodSync').mockImplementation(() => {}) jest.spyOn(fs, 'chmodSync').mockImplementation(() => {})
jest.spyOn(fs, 'readdirSync').mockImplementation((file, _) => { jest.spyOn(fs, 'readdirSync').mockImplementation((file, _) => {
if (file == 'mainFolder') if (file == 'mainFolder') return ['helm.exe' as unknown as fs.Dirent]
return ['helm.exe' as unknown as fs.Dirent<Buffer<ArrayBufferLike>>]
return [] return []
}) })
jest.spyOn(fs, 'statSync').mockImplementation((file) => { jest.spyOn(fs, 'statSync').mockImplementation((file) => {
@@ -209,9 +208,7 @@ describe('run.ts', () => {
jest.spyOn(toolCache, 'cacheDir').mockResolvedValue('pathToCachedDir') jest.spyOn(toolCache, 'cacheDir').mockResolvedValue('pathToCachedDir')
jest jest
.spyOn(fs, 'readdirSync') .spyOn(fs, 'readdirSync')
.mockImplementation((file, _) => [ .mockImplementation((file, _) => ['helm.exe' as unknown as fs.Dirent])
'helm.exe' as unknown as fs.Dirent<Buffer<ArrayBufferLike>>
])
jest.spyOn(fs, 'statSync').mockImplementation((file) => { jest.spyOn(fs, 'statSync').mockImplementation((file) => {
const isDirectory = const isDirectory =
(file as string).indexOf('folder') == -1 ? false : true (file as string).indexOf('folder') == -1 ? false : true
@@ -257,9 +254,7 @@ describe('run.ts', () => {
jest.spyOn(fs, 'chmodSync').mockImplementation(() => {}) jest.spyOn(fs, 'chmodSync').mockImplementation(() => {})
jest jest
.spyOn(fs, 'readdirSync') .spyOn(fs, 'readdirSync')
.mockReturnValue([ .mockReturnValue(['helm.exe' as unknown as fs.Dirent])
'helm.exe' as unknown as fs.Dirent<Buffer<ArrayBufferLike>>
])
jest.spyOn(fs, 'statSync').mockImplementation((file) => { jest.spyOn(fs, 'statSync').mockImplementation((file) => {
const isDirectory = const isDirectory =
(file as string).indexOf('folder') == -1 ? false : true (file as string).indexOf('folder') == -1 ? false : true