From 27134ea1186eb0e76a5014a2fafbae20d725d938 Mon Sep 17 00:00:00 2001 From: unkn0wn <1+unkn0wn@noreply.localhost> Date: Thu, 4 Jun 2026 12:31:51 +0000 Subject: [PATCH] feat: adding auto publish pipeline --- .gitea/workflows/publish.yml | 52 ++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .gitea/workflows/publish.yml diff --git a/.gitea/workflows/publish.yml b/.gitea/workflows/publish.yml new file mode 100644 index 0000000..a1e0373 --- /dev/null +++ b/.gitea/workflows/publish.yml @@ -0,0 +1,52 @@ +name: Publish to npm + +on: + push: + branches: + - main + paths: + - 'package.json' # se déclenche uniquement si package.json change + +jobs: + check-and-publish: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 2 # pour pouvoir comparer avec le commit précédent + + - name: Check if version changed + id: version_check + run: | + PREV=$(git show HEAD~1:package.json | node -p "require('/dev/stdin').version" 2>/dev/null || echo "none") + CURR=$(node -p "require('./package.json').version") + echo "prev=$PREV" + echo "curr=$CURR" + if [ "$PREV" != "$CURR" ]; then + echo "changed=true" >> $GITHUB_OUTPUT + else + echo "changed=false" >> $GITHUB_OUTPUT + fi + + - name: Setup Node + if: steps.version_check.outputs.changed == 'true' + uses: actions/setup-node@v4 + with: + node-version: '22' + registry-url: 'https://registry.npmjs.org' + + - name: Update npm + if: steps.version_check.outputs.changed == 'true' + run: npm install -g npm@latest + + - name: Install dependencies + if: steps.version_check.outputs.changed == 'true' + run: npm ci + + - name: Publish + if: steps.version_check.outputs.changed == 'true' + run: npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} \ No newline at end of file