diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6e0b14cd..5ab687d5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -113,7 +113,7 @@ jobs: publish: name: Publish release needs: [build] - # if: startsWith(github.ref, 'refs/tags/') + if: startsWith(github.ref, 'refs/tags/') runs-on: ubuntu-latest steps: - name: Checkout @@ -124,7 +124,18 @@ jobs: with: pattern: odiff-*.exe merge-multiple: true - destination-path: npm_package/raw_binaries + path: npm_package/raw_binaries - - run: tree npm_package + - name: Publish npm package + working-directory: npm_package + run: npm publish + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Create github release + uses: softprops/action-gh-release@v1 + with: + files: "npm_package/raw_binaries/*" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/npm_package/bin/odiff b/npm_package/bin/odiff new file mode 100755 index 00000000..3e889c09 --- /dev/null +++ b/npm_package/bin/odiff @@ -0,0 +1,4 @@ +#!/usr/bin/env node + +console.error("odiff: seems like a binary executable for your OS wasn't linked. Please verify that postinstsall script run successfully") +process.exit(1); diff --git a/bin/node-bindings/odiff.d.ts b/npm_package/odiff.d.ts similarity index 100% rename from bin/node-bindings/odiff.d.ts rename to npm_package/odiff.d.ts diff --git a/bin/node-bindings/odiff.js b/npm_package/odiff.js similarity index 100% rename from bin/node-bindings/odiff.js rename to npm_package/odiff.js diff --git a/npm_package/package.json b/npm_package/package.json new file mode 100644 index 00000000..d8ad9467 --- /dev/null +++ b/npm_package/package.json @@ -0,0 +1,19 @@ +{ + "name": "odiff-bin", + "version": "3.1.0", + "author": "Dmitriy Kovalenko ", + "license": "MIT", + "description": "The fastest image difference tool in the world", + "scripts": { + "postinstall": "node ./post_install.js" + }, + "types": "odiff.d.ts", + "main": "odiff.js", + "keywords": [ + "visual-regression", + "pixelmatch", + "image", + "comparison", + "diff" + ] +} diff --git a/release.sh b/release.sh index 6f53d021..755e5f7f 100644 --- a/release.sh +++ b/release.sh @@ -14,3 +14,13 @@ dune build sed -i "s/\"version\": \"[^\"]*\"/\"version\": \"$VERSION\"/g" package.json npm install +sed -i "s/\"version\": \"[^\"]*\"/\"version\": \"$VERSION\"/g" npm_package/package.json + +git commit -m "chore(release): v$VERSION" + +git tag "v$VERSION" + +git push origin "v$VERSION" + +git push + diff --git a/test/node-binding.test.cjs b/test/node-binding.test.cjs index c496ccad..86f5f725 100644 --- a/test/node-binding.test.cjs +++ b/test/node-binding.test.cjs @@ -1,6 +1,6 @@ const path = require("path"); const test = require("ava"); -const { compare } = require("../bin/node-bindings/odiff"); +const { compare } = require("../npm_package/odiff"); const IMAGES_PATH = path.resolve(__dirname, "..", "images"); const BINARY_PATH = path.resolve( diff --git a/test/node-bindings.test.ts b/test/node-bindings.test.ts index 4aaa4c31..88f5d6d4 100644 --- a/test/node-bindings.test.ts +++ b/test/node-bindings.test.ts @@ -1,4 +1,4 @@ -import { compare } from "../bin/node-bindings/odiff"; +import { compare } from "../npm_package/odiff"; // allow no options compare("path1", "path2", "path3")