✨ self-host create-configs package #158
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 'Publish NPM Package' | |
on: | |
push: | |
branches: ['*'] | |
tags-ignore: ['*'] | |
pull_request: | |
permissions: | |
contents: 'read' | |
jobs: | |
build: | |
runs-on: 'ubuntu-latest' | |
steps: | |
- name: 'Setup node 🛎️' | |
uses: 'dudeofawesome/actions/node-setup@a850bdff4354bdb891a86116f0378f8a890e2c16' # v1 | |
- name: 'Build 🏗️' | |
run: 'npm run build' | |
lint: | |
runs-on: 'ubuntu-latest' | |
steps: | |
- name: 'Setup node 🛎️' | |
uses: 'dudeofawesome/actions/node-setup@a850bdff4354bdb891a86116f0378f8a890e2c16' # v1 | |
- name: 'Lint 🧪' | |
run: 'npm run lint' | |
test: | |
runs-on: 'ubuntu-latest' | |
steps: | |
- name: 'Setup node 🛎️' | |
uses: 'dudeofawesome/actions/node-setup@a850bdff4354bdb891a86116f0378f8a890e2c16' # v1 | |
- name: 'Test 🧪' | |
run: 'npm run test' | |
publish: | |
runs-on: 'ubuntu-latest' | |
environment: 'production' | |
permissions: | |
id-token: 'write' | |
packages: 'write' | |
contents: 'write' | |
needs: | |
- 'build' | |
- 'lint' | |
- 'test' | |
steps: | |
- name: 'Setup node 🛎️' | |
uses: 'dudeofawesome/actions/node-setup@a850bdff4354bdb891a86116f0378f8a890e2c16' # v1 | |
with: | |
install-modules: false | |
- name: 'Publish to NPM 🚀' | |
env: | |
NODE_AUTH_TOKEN: '${{ secrets.NPM_AUTH_TOKEN }}' | |
uses: 'dudeofawesome/actions/npm-publish@a850bdff4354bdb891a86116f0378f8a890e2c16' # v1 | |
- name: 'Get package version 🔖' | |
id: 'get-package-version' | |
run: 'echo "version=v$(npm pkg get version | jq --raw-output)" >> "$GITHUB_OUTPUT"' | |
- name: 'Build jsonschema 🏗️' | |
run: 'npm run build:jsonschema --workspace packages/code-style' | |
- name: 'Publish files to Github Releases 🚀' | |
uses: 'softprops/action-gh-release@9d7c94cfd0a1f3ed45544c887983e9fa900f0564' # v2 | |
with: | |
tag_name: '${{ steps.get-package-version.outputs.version }}' | |
prerelease: "${{ contains(steps.get-package-version.outputs.version, '-') }}" | |
generate_release_notes: true | |
files: | | |
packages/code-style/codestylerc.schema.json |