name: Deploy PDS on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Ansible run: | sudo apt-get update -qq sudo apt-get install -y -qq ansible - name: Write SSH key env: SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} run: | mkdir -p ~/.ssh echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 ssh-keyscan -H ${{ vars.SERVER_IP }} >> ~/.ssh/known_hosts - name: Generate inventory run: | cat > inventory.yml < vars/main.yml <> vars/main.yml fi # Optional: branding if [ -n "${{ vars.PDS_SERVICE_NAME }}" ]; then echo "pds_service_name: \"${{ vars.PDS_SERVICE_NAME }}\"" >> vars/main.yml fi if [ -n "${{ vars.PDS_PRIMARY_COLOR }}" ]; then echo "pds_primary_color: \"${{ vars.PDS_PRIMARY_COLOR }}\"" >> vars/main.yml fi # Optional: email/SMTP if [ -n "${{ secrets.SMTP_URL }}" ]; then echo "pds_email_smtp_url: ${{ secrets.SMTP_URL }}" >> vars/main.yml fi echo "pds_email_from_address: techops@cosocial.ca" >> vars/main.yml - name: Run playbook run: | ansible-playbook -i inventory.yml playbook.yml