diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..eaa8344a --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,46 @@ +name: Publish + +on: + release: + types: [published] + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - name: ๐Ÿ“ฅโ€‹ Checkout + uses: actions/checkout@v3 + + - name: ๐Ÿช„ Read package.json node and npm engines version + uses: skjnldsv/read-package-engines-version-actions@v1.2 + id: versions + with: + fallbackNode: '^16' + fallbackNpm: '^8' + + - name: ๐Ÿ”งโ€‹ Setup Node (NPM Registry) + uses: actions/setup-node@v3 + with: + node-version: ${{ steps.versions.outputs.nodeVersion }} + cache: 'npm' + registry-url: 'https://registry.npmjs.org' + + - name: ๐Ÿ“ฆ Install dependencies & build + run: | + npm ci + npm run build + + - name: ๐Ÿ“ฃ Publish package on NPM + run: npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: ๐Ÿ”งโ€‹ Setup Github Registry + uses: actions/setup-node@v3 + with: + registry-url: 'https://npm.pkg.github.com' + + - name: ๐Ÿ“ฃ Publish package on GPR + run: npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 4131a123..c8cd0f28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,6 +21,7 @@ "@nextcloud/eslint-config": "^8.3.0-beta.2", "@nextcloud/typings": "^1.6.0", "@types/jest": "^29.2.5", + "@types/node": "^20.6.3", "eslint": "^8.44.0", "jest": "^29.3.1", "jest-environment-jsdom": "^29.3.1", @@ -3173,9 +3174,9 @@ "peer": true }, "node_modules/@types/node": { - "version": "18.11.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", - "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", + "version": "20.6.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.3.tgz", + "integrity": "sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA==", "dev": true }, "node_modules/@types/semver": { @@ -13314,9 +13315,9 @@ "peer": true }, "@types/node": { - "version": "18.11.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", - "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", + "version": "20.6.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.3.tgz", + "integrity": "sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA==", "dev": true }, "@types/semver": { diff --git a/package.json b/package.json index c4acb8af..81ec89da 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "@nextcloud/eslint-config": "^8.3.0-beta.2", "@nextcloud/typings": "^1.6.0", "@types/jest": "^29.2.5", + "@types/node": "^20.6.3", "eslint": "^8.44.0", "jest": "^29.3.1", "jest-environment-jsdom": "^29.3.1", @@ -55,4 +56,4 @@ "dist/", "CHANGELOG.md" ] -} \ No newline at end of file +}