diff --git a/.github/workflows/publish-quickjs.yml b/.github/workflows/publish-quickjs.yml deleted file mode 100644 index 0ee95a9..0000000 --- a/.github/workflows/publish-quickjs.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Publish - QuickJS -on: - push: - branches: - - main - paths: - - 'quickjs/deno.json' - -jobs: - Publish: - runs-on: ubuntu-latest - env: - working-directory: ./quickjs - - permissions: - contents: write - id-token: write - - steps: - - name: Setup repo - uses: actions/checkout@v4 - - - name: Setup Deno - uses: denoland/setup-deno@v2 - with: - deno-version: v2.x - - - name: Run linter - run: deno lint - working-directory: ${{ env.working-directory }} - - - name: Run tests - run: deno test --allow-read --allow-net - working-directory: ${{ env.working-directory }} - - - name: Publish to JSR - run: deno publish - working-directory: ${{ env.working-directory }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e4e5c64..789d7b0 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -23,8 +23,14 @@ jobs: with: deno-version: v2.x - - name: Run tests - run: deno task test + - name: Apply Workspace Version + run: deno task apply-version + + - name: Install Dependencies + run: deno install --allow-scripts + + - name: Publish to JSR + run: deno publish - name: Get version from deno.json id: get_version @@ -36,7 +42,3 @@ jobs: git config --global user.email 'github-actions[bot]@users.noreply.github.com' git tag -a v${{ steps.get_version.outputs.version }} -m "Release version ${{ steps.get_version.outputs.version }}" git push origin v${{ steps.get_version.outputs.version }} - continue-on-error: true - - - name: Publish to JSR - run: deno publish diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2ede0ee..6c95079 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,8 +1,6 @@ name: Test on: - push: - branches: ['main'] pull_request: branches: ['main'] @@ -22,6 +20,9 @@ jobs: with: deno-version: v2.x + - name: Apply Workspace Version + run: deno task apply-version + - name: Install Dependencies run: deno install --allow-scripts diff --git a/apply-version.ts b/apply-version.ts new file mode 100644 index 0000000..4f272fa --- /dev/null +++ b/apply-version.ts @@ -0,0 +1,18 @@ +const rootModule = JSON.parse(await Deno.readTextFile('./deno.json')) +const subModules = rootModule.workspace + +for (const subModule of subModules) { + const subModulePath = `./${subModule}/deno.json` + const subModuleJson = JSON.parse(await Deno.readTextFile(subModulePath)) + + if (!subModuleJson.name) { + continue + } + + subModuleJson.version = rootModule.version + + await Deno.writeTextFile( + subModulePath, + JSON.stringify(subModuleJson, null, 2), + ) +} diff --git a/core/deno.json b/core/deno.json index 237ea8e..f8a4cdf 100644 --- a/core/deno.json +++ b/core/deno.json @@ -1,12 +1,12 @@ { - "tasks": { - "coverage": "rm -rf ./cov && deno test --quiet --allow-net --allow-read --parallel --coverage=cov && deno coverage --detailed ./cov && rm -rf ./cov", - "coverage-list": "rm -rf ./cov && deno test --quiet --allow-net --allow-read --parallel --coverage=cov && deno coverage ./cov && rm -rf ./cov", - "check-circular-dependencies": "deno run -A npm:madge --circular --extensions ts ./", - "check-deploy": "deno publish --dry-run --allow-dirty", - "test": "deno task check-circular-dependencies & deno task check-deploy" - }, - "name": "@dalbit-yaksok/core", - "version": "0.2.0-alpha.9+20241212.nightly", - "exports": "./mod.ts" + "tasks": { + "coverage": "rm -rf ./cov && deno test --quiet --allow-net --allow-read --parallel --coverage=cov && deno coverage --detailed ./cov && rm -rf ./cov", + "coverage-list": "rm -rf ./cov && deno test --quiet --allow-net --allow-read --parallel --coverage=cov && deno coverage ./cov && rm -rf ./cov", + "check-circular-dependencies": "deno run -A npm:madge --circular --extensions ts ./", + "check-deploy": "deno publish --dry-run --allow-dirty", + "test": "deno task check-circular-dependencies & deno task check-deploy" + }, + "name": "@dalbit-yaksok/core", + "exports": "./mod.ts", + "version": "0.2.0-alpha.10+20241217.nightly" } \ No newline at end of file diff --git a/deno.json b/deno.json index 5ac73c7..5db88bc 100644 --- a/deno.json +++ b/deno.json @@ -21,9 +21,9 @@ "core", "test" ], - "publish": { - "include": [ - "./src" - ] + "version": "0.2.0-alpha.10+20241217.nightly", + "tasks": { + "apply-version": "deno run --allow-read --allow-write apply-version.ts", + "publish": "deno task --recursive test && deno publish --allow-dirty" } } \ No newline at end of file diff --git a/docs/deno.json b/docs/deno.json index 118b644..96c8670 100644 --- a/docs/deno.json +++ b/docs/deno.json @@ -1,5 +1,4 @@ { - "name": "@dalbit-yaksok/docs", "imports": { "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.2", "@vue/runtime-dom": "npm:@vue/runtime-dom@^3.5.12", @@ -21,6 +20,5 @@ "dev": "deno task typedoc --watch & deno task vitepress-dev", "build": "deno task purge; deno task typedoc && deno task vitepress-build", "test": "deno task build; deno task purge" - }, - "exports": "./docs/.vitepress/dist" + } } \ No newline at end of file diff --git a/quickjs/deno.json b/quickjs/deno.json index 981b428..006f532 100644 --- a/quickjs/deno.json +++ b/quickjs/deno.json @@ -1,13 +1,13 @@ { - "name": "@dalbit-yaksok/quickjs", - "exports": "./mod.ts", - "imports": { - "quickjs-emscripten": "npm:quickjs-emscripten@^0.31.0", - "quickjs-emscripten-core": "npm:quickjs-emscripten-core@^0.31.0" - }, - "version": "0.2.0-alpha.9+20241212.nightly", - "tasks": { - "check-deploy": "deno publish --dry-run --allow-dirty", - "test": "deno test --quiet --allow-net --allow-read --parallel & deno lint & deno task check-deploy" - } + "name": "@dalbit-yaksok/quickjs", + "exports": "./mod.ts", + "imports": { + "quickjs-emscripten": "npm:quickjs-emscripten@^0.31.0", + "quickjs-emscripten-core": "npm:quickjs-emscripten-core@^0.31.0" + }, + "tasks": { + "check-deploy": "deno publish --dry-run --allow-dirty", + "test": "deno test --quiet --allow-net --allow-read --parallel & deno lint & deno task check-deploy" + }, + "version": "0.2.0-alpha.10+20241217.nightly" } \ No newline at end of file