Compare commits

..

No commits in common. "master" and "v1.2.0" have entirely different histories.

2 changed files with 130 additions and 85 deletions

130
.drone.yml Normal file
View File

@ -0,0 +1,130 @@
kind: pipeline
type: docker
name: default
node:
lan: internal
steps:
- name: build
image: node
commands:
- npm install
- npm run build
- name: version
image: node
commands:
- export version=`node -p "require('./package.json').version"`
- export commit=`echo $DRONE_COMMIT | cut -c1-5`
- npm version prerelease --preid=$commit --git-tag-version=false --allow-same-version=true
when:
event:
exclude:
- tag
- pull_request
branch:
include:
- master
- name: publish pre
image: node
environment:
token:
from_secret: npm_token
commands:
- npm config set @watsonb8:registry https://gitea.watsonlabs.net/api/packages/watsonb8/npm/
- npm config set -- '//gitea.watsonlabs.net/api/packages/watsonb8/npm/:_authToken' "$token"
- npm publish
when:
event:
exclude:
- tag
- pull_request
branch:
include:
- master
- name: publish tagged version
image: node
environment:
token:
from_secret: npm_token
commands:
- npm config set @watsonb8:registry https://gitea.watsonlabs.net/api/packages/watsonb8/npm/
- npm config set -- '//gitea.watsonlabs.net/api/packages/watsonb8/npm/:_authToken' "$token"
- npm publish
when:
event:
- tag
exclude:
- pull_request
- name: remove old package
image: appleboy/drone-ssh
environment:
SSH_USER:
from_secret: ssh_user
settings:
host: homebridge.me
envs:
- SSH_USER
username:
from_secret: ssh_user
key:
from_secret: ssh_key
port: 22
script:
- rm -r /home/$SSH_USER/.npm-global/lib/node_modules/@watsonb8/homebridge-flux || true
when:
event:
- tag
exclude:
- pull_request
- name: deploy
image: appleboy/drone-ssh
settings:
host: homebridge.me
username:
from_secret: ssh_user
key:
from_secret: ssh_key
port: 22
script:
- npm install -g @watsonb8/homebridge-flux
when:
event:
- tag
exclude:
- pull_request
- name: restart homebridge
image: appleboy/drone-ssh
settings:
host: homebridge.me
username:
from_secret: elevated_ssh_user
key:
from_secret: ssh_key
port: 22
script:
- systemctl restart homebridge
when:
event:
- tag
exclude:
- pull_request
- name: Notify
image: drillster/drone-email
settings:
host: 10.44.1.13
username: srvGitea
password:
from_secret: smtp_password
from: drone@watsonlabs.net
skip_verify: true
when:
status:
- failure

View File

@ -1,85 +0,0 @@
name: Build homebridge-flux
on:
workflow_dispatch:
push:
branches:
- master
jobs:
build:
name: Build
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
- run: |
npm ci
npm run build
version:
name: Version
outputs:
version: ${{ steps.get_version.outputs.version }}
commit: ${{ steps.get_version.outputs.commit }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
- id: get_version
name: Set Version
run: |
export version=`node -p "require('./package.json').version"`
export commit=`echo $GITHUB_SHA | cut -c1-5`
echo "version=$version" >> "$GITHUB_OUTPUT"
echo "commit=$commit" >> "$GITHUB_OUTPUT"
publish_tagged:
name: Publish Latest
needs:
- build
- version
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm config set @watsonb8:registry https://gitea.watsonlabs.net/api/packages/watsonb8/npm/
- name: Publish
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
COMMIT: ${{ needs.version.outputs.commit }}
run: |
npm config set -- '//gitea.watsonlabs.net/api/packages/watsonb8/npm/:_authToken' "$NPM_TOKEN"
npm version prerelease --preid="$COMMIT" --git-tag-version=false --allow-same-version=true
npm publish
deploy:
runs-on:
- ubuntu-latest
- internal
name: Deploy
needs:
- publish_tagged
- version
steps:
- name: Set up SSH key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.ELEVATED_HOMEBRIDGE_SSH_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan -p 22 homebridge.me >> ~/.ssh/known_hosts
sudo apt update
sudo apt install sshpass
- name: Remove old Package
run: |
sshpass -p '${{ secrets.ELEVATED_HOMEBRIDGE_PASSWORD }}' ssh -v -o StrictHostKeyChecking=no ${{ secrets.ELEVATED_HOMEBRIDGE_USER }}@${{ secrets.HOMEBRIDGE_HOST }} <<'ENDSSH'
rm -r /home/${{ secrets.HOMEBRIDGE_USER }}/.npm-global/lib/node_modules/@watsonb8/homebridge-flux
ENDSSH
- name: Deploy
env:
COMMIT: ${{ needs.version.outputs.commit }}
run: |
sshpass -p '${{ secrets.ELEVATED_HOMEBRIDGE_PASSWORD }}' ssh -v -o StrictHostKeyChecking=no ${{ secrets.ELEVATED_HOMEBRIDGE_USER }}@${{ secrets.HOMEBRIDGE_HOST }} <<'ENDSSH'
npm install -g @watsonb8/homebridge-flux@$COMMIT
ENDSSH