chore: add release pipeline
Some checks failed
Publish to NPM / Build and Publish to NPM (push) Failing after 10s

This commit is contained in:
Raul Lugo
2024-12-26 16:05:40 +01:00
parent 9086184d00
commit a934c4e626
3 changed files with 51 additions and 7 deletions

50
.github/workflows/release.yaml vendored Normal file
View File

@@ -0,0 +1,50 @@
name: Publish to NPM
on:
push:
tags:
- "v*.*.*" # Matches version tags like v1.0.0, v2.3.4, etc.
env:
DIST_FOLDER: dist
jobs:
build-and-publish:
name: Build and Publish to NPM
runs-on: ubuntu-latest
steps:
# 1. Checkout Repository
- name: Checkout Repository
uses: actions/checkout@v4
# 2. Extract Tag Version
- name: Extract Tag Version
id: tag_version
run: |
echo "TAG_VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
echo "Extracted Tag Version: ${GITHUB_REF#refs/tags/v}"
# 3. Install Deno
- name: Install Deno
uses: denoland/setup-deno@v1
with:
deno-version: v1.x # Use the latest stable version of Deno
# 4. Inject Version into `dnt.config.mts`
- name: Update Version in dnt.config.mts
run: |
sed -i "s/\"version\": \"<RELEASE_VERSION_PLACEHOLDER>\"/\"version\": \"${{ env.TAG_VERSION }}\"/" dnt.config.mts
echo "Updated version in dnt.config.mts to ${{ env.TAG_VERSION }}"
# 5. Run build:npm
- name: Build NPM Package
run: deno task build:npm
# 6. Publish to NPM
- name: Publish to NPM
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
cd ${{ env.DIST_FOLDER }}
npm publish --access public

View File

@@ -6,7 +6,6 @@ Type-safe Deno/Node.js client for validating e-Invoices against EU standards usi
- [Description](#description)
- [Key Features](#key-features)
- [Installation](#installation)
- [Deno](#deno)
- [Node.js](#nodejs)
- [Usage](#usage)
- [API Reference](#api-reference)
@@ -32,11 +31,6 @@ Caballo Client is a modern TypeScript library for validating electronic invoices
## Installation
### Deno
```ts
import { CaballoClient } from "https://deno.land/x/caballo_client@v1.0.0/mod.ts";
```
### Node.js
```bash
npm install caballo-client

View File

@@ -10,7 +10,7 @@ await build({
},
package: {
name: "caballo-client",
version: "1.0.1",
version: "<RELEASE_VERSION_PLACEHOLDER>",
description: "A Deno project targeting Node.js 18+ with ESM support",
license: "MIT",
author: "Raul Lugo",