watsonb8
0bf85afc20
All checks were successful
Publishing node lib Adding deploy steps WIP WIP WIP WIP WIP WIP WIP WIP WIP WIP WIP WIP
82 lines
2.5 KiB
YAML
82 lines
2.5 KiB
YAML
name: Build homebridge-hue-chase
|
|
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
|
|
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-hue-chase
|
|
ENDSSH
|
|
- name: Deploy
|
|
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-hue-chase
|
|
ENDSSH
|