mirror of
https://github.com/Dokploy/cli.git
synced 2026-06-15 20:25:22 +02:00
feat: integrate Vitest for testing and update workflows
- Added Vitest as a testing framework in package.json and configured test scripts. - Created new test files for CLI and client functionalities, ensuring comprehensive coverage. - Updated GitHub Actions workflows to include testing steps and streamlined release process. - Removed the deprecated onRelease workflow to consolidate CI/CD processes.
This commit is contained in:
49
.github/workflows/onPushToMain.yml
vendored
49
.github/workflows/onPushToMain.yml
vendored
@@ -1,5 +1,4 @@
|
||||
# test
|
||||
name: version, tag and github release
|
||||
name: release and publish
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -10,47 +9,51 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ secrets.GH_TOKEN }}
|
||||
|
||||
- uses: pnpm/action-setup@v6
|
||||
with:
|
||||
version: latest
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: latest
|
||||
cache: pnpm
|
||||
registry-url: https://registry.npmjs.org
|
||||
|
||||
- run: pnpm install
|
||||
- run: pnpm run build
|
||||
|
||||
- name: Check if version already exists
|
||||
id: version-check
|
||||
run: |
|
||||
package_version=$(node -p "require('./package.json').version")
|
||||
exists=$(gh api repos/${{ github.repository }}/releases/tags/v$package_version >/dev/null 2>&1 && echo "true" || echo "")
|
||||
|
||||
if [ -n "$exists" ];
|
||||
then
|
||||
if [ -n "$exists" ]; then
|
||||
echo "Version v$package_version already exists"
|
||||
echo "::warning file=package.json,line=1::Version v$package_version already exists - no release will be created. If you want to create a new release, please update the version in package.json and push again."
|
||||
echo "skipped=true" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "Version v$package_version does not exist. Creating release..."
|
||||
echo "Version v$package_version does not exist"
|
||||
echo "skipped=false" >> $GITHUB_OUTPUT
|
||||
echo "tag=v$package_version" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||
- name: Setup git
|
||||
if: ${{ steps.version-check.outputs.skipped == 'false' }}
|
||||
run: |
|
||||
git config --global user.email ${{ secrets.GH_EMAIL }}
|
||||
git config --global user.name ${{ secrets.GH_USERNAME }}
|
||||
- name: Generate oclif README
|
||||
if: ${{ steps.version-check.outputs.skipped == 'false' }}
|
||||
id: oclif-readme
|
||||
run: |
|
||||
pnpm install
|
||||
pnpm exec oclif readme
|
||||
if [ -n "$(git status --porcelain)" ]; then
|
||||
git add .
|
||||
git commit -am "chore: update README.md"
|
||||
git push -u origin ${{ github.ref_name }}
|
||||
fi
|
||||
|
||||
- name: Create Github Release
|
||||
if: steps.version-check.outputs.skipped == 'false'
|
||||
uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5
|
||||
if: ${{ steps.version-check.outputs.skipped == 'false' }}
|
||||
with:
|
||||
name: ${{ steps.version-check.outputs.tag }}
|
||||
tag: ${{ steps.version-check.outputs.tag }}
|
||||
commit: ${{ github.ref_name }}
|
||||
token: ${{ secrets.GH_TOKEN }}
|
||||
skipIfReleaseExists: true
|
||||
|
||||
- name: Publish to npm
|
||||
if: steps.version-check.outputs.skipped == 'false'
|
||||
run: pnpm publish --no-git-checks
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
|
||||
18
.github/workflows/onRelease.yml
vendored
18
.github/workflows/onRelease.yml
vendored
@@ -1,18 +0,0 @@
|
||||
name: publish
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [released]
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: latest
|
||||
- run: pnpm install
|
||||
- uses: JS-DevTools/npm-publish@19c28f1ef146469e409470805ea4279d47c3d35c
|
||||
with:
|
||||
token: ${{ secrets.NPM_TOKEN }}
|
||||
11
.github/workflows/test.yml
vendored
11
.github/workflows/test.yml
vendored
@@ -1,22 +1,27 @@
|
||||
name: tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches-ignore: [main]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
unit-tests:
|
||||
test:
|
||||
strategy:
|
||||
matrix:
|
||||
os: ['ubuntu-latest', 'windows-latest']
|
||||
node_version: [lts/-1, lts/*, latest]
|
||||
os: [ubuntu-latest, windows-latest]
|
||||
node_version: [lts/*, latest]
|
||||
fail-fast: false
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: pnpm/action-setup@v6
|
||||
with:
|
||||
version: latest
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node_version }}
|
||||
cache: pnpm
|
||||
- run: pnpm install
|
||||
- run: pnpm run build
|
||||
- run: pnpm run test
|
||||
|
||||
Reference in New Issue
Block a user