diff --git a/.gitea/workflows/default_tags.yaml b/.gitea/workflows/default_tags.yaml index 821d33f..be300bb 100644 --- a/.gitea/workflows/default_tags.yaml +++ b/.gitea/workflows/default_tags.yaml @@ -88,7 +88,20 @@ jobs: - name: Release run: | npmci node install stable + npmci npm install + # Extract server host from GITHUB_SERVER_URL (remove https://) + GITEA_HOST="${GITHUB_SERVER_URL#https://}" + GITEA_REGISTRY="$GITHUB_SERVER_URL/api/packages/$GITHUB_REPOSITORY_OWNER/npm/" + # Configure Gitea npm registry + npmci command npm config set @${GITHUB_REPOSITORY_OWNER}:registry "$GITEA_REGISTRY" + npmci command npm config set "//${GITEA_HOST}/api/packages/${GITHUB_REPOSITORY_OWNER}/npm/:_authToken" "$GITEA_TOKEN" + # Publish to Gitea npmci npm publish + # Conditionally publish to npmjs.org if token exists + if [ -n "$NPMCI_TOKEN_NPM" ]; then + npmci command npm config set registry https://registry.npmjs.org + npmci npm publish + fi metadata: needs: test diff --git a/changelog.md b/changelog.md index 4189eb5..ca721a1 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,14 @@ # Changelog +## 2025-10-25 - 4.3.3 - fix(ci) +Improve Gitea release workflow: install deps, configure Gitea npm registry, and optionally publish to npmjs.org + +- Run npm install in the release job to ensure dependencies are available before publishing. +- Configure Gitea/npm registry using GITHUB_SERVER_URL and set auth token for the @ scope. +- Publish to the Gitea npm registry during release. +- If NPMCI_TOKEN_NPM is provided, also publish to the public npmjs.org registry (conditional publish). +- Extract host from GITHUB_SERVER_URL to correctly set the registry auth URL. + ## 2025-10-17 - 4.3.2 - fix(core) Remove stray console.log from core module diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 025db1d..64601f7 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@push.rocks/smartrequest', - version: '4.3.2', + version: '4.3.3', description: 'A module for modern HTTP/HTTPS requests with support for form data, file uploads, JSON, binary data, streams, and more.' }