aboutsummaryrefslogblamecommitdiffstatshomepage
path: root/.github/workflows/run.yml
blob: 569bcada21fc9e30794be332ce9412b97d0f473d (plain) (tree)
1
2
3
4
5
6
7
8
9



                    



                                      
                      






                          
                                 








                                                                   
                              
                                         

                                                   









                                                    
                                  
                      
                         
                                                              
name: Run

on:
  workflow_dispatch:
    inputs:
      hosts:
        description: Inventory pattern
        required: false
        default: cloud

jobs:
  run:
    name: Run
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Set up WireGuard
        uses: egor-tensin/setup-wireguard@v1
        with:
          endpoint: '${{ secrets.ENDPOINT }}'
          endpoint_public_key: '${{ secrets.ENDPOINT_PUBLIC_KEY }}'
          ips: '${{ secrets.IPS }}'
          allowed_ips: '${{ secrets.ALLOWED_IPS }}'
          private_key: '${{ secrets.WG_PRIVATE_KEY }}'
          preshared_key: '${{ secrets.WG_PRESHARED_KEY }}'
      - name: Set up ssh-agent
        uses: webfactory/ssh-agent@v0.7.0
        with:
          ssh-private-key: '${{ secrets.SSH_KEY }}'
      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: 3.x
          cache: pip
      - name: Install Ansible
        run: pip install -q -r requirements.txt
      - name: Make sure Ansible version is correct
        run: |
          ansible-playbook --version | grep -F 2.14.
      - name: Install dependencies
        run: make deps
      - name: Run Ansible
        run: make run LIMIT='${{ github.event.inputs.hosts }}'