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_commit.outputs.commit }} steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 18 - id: get_version run: echo version=$(node -p "require('./package.json').version") >> "$GITHUB_OUTPUT" - id: get_commit run: echo "commit=$(echo $DRONE_COMMIT | cut -c1-5)" >> "$GITHUB_OUTPUT" publish_tagged: name: Publish Latest needs: 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 }} run: npm config set -- '//gitea.watsonlabs.net/api/packages/watsonb8/npm/:_authToken' "$NPM_TOKEN" - run: npm publish deploy: runs-on: internal steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up SSH key run: | env mkdir -p ~/.ssh echo "${{ secrets.HOMEBRIDGE_SSH_KEY }}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -p 22 homebridge.me >> ~/.ssh/known_hosts 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 ENDSSH