Files
brainwave/.gitea/workflows/deploy.yml
T

49 lines
1.5 KiB
YAML

name: Deploy ARM to OrangePi
on:
workflow_run:
workflows: ["Release Pipeline"]
types:
- completed
jobs:
deploy:
runs-on: ubuntu-latest
if: github.event.workflow_run.conclusion == 'success'
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Install Ansible
run: |
sudo apt-get update -qq
sudo apt-get install -y ansible
- name: Write SSH Key
run: |
echo "${{ secrets.ANSIBLE_SSH_KEY }}" > /tmp/ansible_key
chmod 600 /tmp/ansible_key
- name: Write Inventory
run: |
printf '[orangepi]\norangepi ansible_host=%s ansible_user=%s ansible_ssh_private_key_file=/tmp/ansible_key ansible_ssh_common_args="-o StrictHostKeyChecking=no"\n' \
"${{ secrets.ANSIBLE_HOST }}" \
"${{ secrets.ANSIBLE_USER }}" > /tmp/inventory.ini
- name: Download ARM Release Artifacts
run: |
TAG="${{ github.event.workflow_run.head_branch }}"
BASE_URL="${{ github.server_url }}/${{ github.repository }}/releases/download/${TAG}"
wget -q "${BASE_URL}/brainwave-arm64.tar.gz"
wget -q "${BASE_URL}/docker-compose.arm64.yml"
- name: Deploy via Ansible
run: |
ansible-playbook ansible/deploy.yml \
-i /tmp/inventory.ini \
-e "artifact_path=${{ github.workspace }}"
- name: Cleanup SSH Key
if: always()
run: rm -f /tmp/ansible_key