From 4b27cf19dc2903210833c669a5e9b9539d218eaf Mon Sep 17 00:00:00 2001 From: watsonb8 Date: Wed, 5 Jun 2024 18:02:38 -0500 Subject: [PATCH] Adding deploy steps --- .gitea/workflows/build.yaml | 49 ------------------------ .gitea/workflows/ci.yaml | 75 +++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 49 deletions(-) delete mode 100644 .gitea/workflows/build.yaml create mode 100644 .gitea/workflows/ci.yaml diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml deleted file mode 100644 index 65dab78..0000000 --- a/.gitea/workflows/build.yaml +++ /dev/null @@ -1,49 +0,0 @@ -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: - # name: Deploy Package diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml new file mode 100644 index 0000000..5b4d912 --- /dev/null +++ b/.gitea/workflows/ci.yaml @@ -0,0 +1,75 @@ +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 }} + 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 + needs: publish_tagged + steps: + - 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 + systemctl restart homebridge + ENDSSH +