Stage 4 - Post Release Validation #73
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Stage 4 - Post Release Validation | |
on: | |
workflow_dispatch: | |
inputs: | |
release_channel: | |
description: "APT release channel to validate" | |
required: true | |
default: "stable" | |
type: choice | |
options: | |
- stable | |
- beta | |
workflow_run: | |
workflows: | |
- "Stage 3 - Promote Release Package to APT Stores" | |
- "Beta Stage 2 - Build and Release Beta Package" | |
types: | |
- completed | |
jobs: | |
determine-channel: | |
name: Determine Release Channel | |
runs-on: ubuntu-latest | |
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }} | |
outputs: | |
channel: ${{ steps.set.outputs.release_channel }} | |
steps: | |
- id: set | |
run: | | |
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then | |
echo "release_channel=${{ github.event.inputs.release_channel }}" >> $GITHUB_OUTPUT | |
elif [[ "${{ github.event.workflow_run.name }}" == "Beta Stage 2 - Build and Release Beta Package" ]]; then | |
echo "release_channel=beta" >> $GITHUB_OUTPUT | |
else | |
echo "release_channel=stable" >> $GITHUB_OUTPUT | |
fi | |
validate: | |
name: Validate APT Install | |
runs-on: ubuntu-latest | |
needs: determine-channel | |
steps: | |
- name: Install Homebridge from APT | |
run: | | |
curl -sSfL https://repo.homebridge.io/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/homebridge.gpg | |
echo "deb [signed-by=/usr/share/keyrings/homebridge.gpg] https://repo.homebridge.io ${{ needs.determine-channel.outputs.channel }} main" | \ | |
sudo tee /etc/apt/sources.list.d/homebridge.list > /dev/null | |
sudo apt-get update | |
sudo apt-get install -y homebridge | |
- name: Display Installed Version | |
id: installed-version | |
run: | | |
dpkg -l homebridge | |
echo "homebridge-version=\"$(dpkg -l homebridge | tail -1 | awk '{ print $3 }')\"" >> "$GITHUB_OUTPUT" | |
- name: Validate Homebridge | |
run: | | |
sudo hb-service status | |
sudo hb-service view | |
- name: List Available Versions | |
run: | | |
apt-cache madison homebridge | |
- name: Publish Notice | |
run: echo "::notice::APT Package Installed from ${{ needs.determine-channel.outputs.channel }} - Version ${{ steps.installed-version.outputs.homebridge-version }}" |