Skip to content

Create test environment from PR comment #29

Create test environment from PR comment

Create test environment from PR comment #29

---
name: Create test environment from PR comment
on:
issue_comment:
types: [created]
jobs:
execute_script:
runs-on: ubuntu-latest
environment: DEV
steps:
- name: Extract and set branch variable from comment
if: contains(github.event.comment.body, 'create testenv ') && github.event.comment.body != 'create testenv'
run: |
echo "branch=$(echo '${{ github.event.comment.body }}' | grep -oP '(?<=create testenv ).*')" >> $GITHUB_ENV
- name: Execute Script on Remote Server
if: ${{ env.branch != '' }}
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.TEST_ENV_SSH_HOST }}
username: ${{ secrets.TEST_ENV_SSH_USER }}
key: ${{ secrets.TEST_ENV_SSH_KEY }}
script: |
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/actions_keys/actions@assek
BRANCH=${{ env.branch }}
SUDO_PWD=${{ secrets.TEST_ENV_SUDO_PWD }}
echo $SUDO_PWD | sudo -S -E /srv/anet_testing/odoo/tools/test_environment/deploy.sh create $BRANCH | tee script_output.log
- name: Extract last 5 lines of output
run: |
tail -n 5 script_output.log > last_lines.txt
echo "LAST_LINES=$(cat last_lines.txt)" >> $GITHUB_ENV
- name: Comment on the PR
if: success()
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
-d '{"body": "Action completed successfully. Here are the last 5 lines of output:\n```\n'${LAST_LINES}'\n```"}' \
${{ github.event.issue.url }}/comments