UNPKG

homebridge-fibaro-home-center

Version:

Homebridge plugin for Fibaro Home Center (2, 2 Lite, 3, 3 Lite, Yubii Home).

85 lines (65 loc) 2.71 kB
# Workflow to publish to NPM - Latest and Beta. # It starts automatically when a new Github Release is published # or the draft is changed to a public version. # It will not start for drafts. # Automatically detects if there should be a latest or beta version. # When a Github Release is marked as a Pre-release it will publish to NPM as beta. # if you want to publish public release mark Github release as Latest. # Get version from the Github Release tag. # In both cases tag (version) should be without 'v'. # For latest version it should be in format x.x.x, like: 1.2.3 , 1.2.4 , 1.3.0 , etc. # For beta version it should be in format x.x.x-beta.x (dot between beta and number), # like: 1.2.3-beta.0 , 1.2.3-beta.1 , 1.2.3-beta.2 , etc. # Public release after beta test should be same version or greater, # E.G if beta was 1.2.3-beta.7 then public should be 1.2.3 (or greater). name: Create and publish latest / beta release on: release: types: [published] jobs: create-release: name: Create latest / beta release runs-on: ubuntu-latest steps: - name: Summary run: | echo "The release version will be: ${{ github.event.release.tag_name }}" - name: Check out repository uses: actions/checkout@v4 with: token: ${{ secrets.GH_TOKEN_FOR_PUSH }} - name: Set up Node uses: actions/setup-node@v4 with: node-version: '20.x' registry-url: 'https://registry.npmjs.org' # Configure Git - name: Git configuration run: | git config user.email "83647248+github-actions[bot]@users.noreply.github.com" git config user.name "GitHub Actions" - name: Upgrade version run: npm version ${{ github.event.release.tag_name }} # run: npm version minor env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Install dependencies and build 🔧 run: npm ci && npm run build env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Publish package on NPM - LATEST 📦 if: "!github.event.release.prerelease" run: npm publish --tag latest env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Publish package on NPM - BETA 📦 if: "github.event.release.prerelease" run: npm publish --tag beta env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # Push git repository changes - name: Push changes to repository env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | git push origin HEAD:main && git push --tags