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 run: | export version=`node -p "require('./package.json').version"` export commit=`echo $GITEA_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/ - env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} COMMIT: ${{ needs.version.outputs.commit }} run: | npm version prerelease --preid=$COMMIT --git-tag-version=false --allow-same-version=true npm config set -- '//gitea.watsonlabs.net/api/packages/watsonb8/npm/:_authToken' "$NPM_TOKEN" npm publish deploy: runs-on: internal name: Deploy needs: publish_tagged steps: - name: Set up SSH key run: | env mkdir -p ~/.ssh echo 1 echo "${{ secrets.HOMEBRIDGE_SSH_KEY }}" > ~/.ssh/id_rsa echo 2 chmod 600 ~/.ssh/id_rsa echo 3 ssh-keyscan -p 22 homebridge.me >> ~/.ssh/known_hosts echo 4 sudo apt-get install sshpass - name: Remove old Package run: | sshpass -p '${{ secrets.HOMEBRIDGE_PASSWORD }}' ssh -v -o StrictHostKeyChecking=no ${{ secrets.HOMEBRIDGE_USER }}@${{ secrets.HOMEBRIDGE_HOST }} <<'ENDSSH' rm -r /home/$SSH_USER/.npm-global/lib/node_modules/@watsonb8/homebridge-hue-chase ENDSSH - name: Deploy run: | sshpass -p '${{ secrets.HOMEBRIDGE_PASSWORD }}' ssh -v -o StrictHostKeyChecking=no ${{ secrets.HOMEBRIDGE_USER }}@${{ secrets.HOMEBRIDGE_HOST }} <<'ENDSSH' npm install -g @watsonb8/homebridge-hue-chase systemctl restart homebridge ENDSSH