<commit_before>name: Main

on: [push, pull_request]

jobs:
  lint:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2.3.1
        with:
          python-version: '3.9'
          cache: 'pip'

      - name: Install dependencies
        run: |
          sudo apt update -y
          python -m pip install --upgrade pip
          pip install -r requirements.txt
          sudo snap install shellcheck
          pip install ansible-lint

      - name: Checks and linters
        run: |
          /snap/bin/shellcheck algo install.sh
          ansible-playbook main.yml --syntax-check
          ansible-lint -x experimental,package-latest,unnamed-task -v *.yml roles/{local,cloud-*}/*/*.yml

  scripted-deploy:
    runs-on: ubuntu-20.04
    strategy:
      matrix:
        UBUNTU_VERSION: ["20.04"]
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2.3.1
        with:
          python-version: '3.9'
          cache: 'pip'

      - name: Install dependencies
        run: |
          sudo apt update -y
          sudo apt install -y \
            wireguard \
            libxml2-utils \
            crudini \
            fping \
            strongswan \
            libstrongswan-standard-plugins \
            openresolv

          python3 -m pip install --upgrade pip
          python3 -m pip install -r requirements.txt

          sudo snap refresh lxd
          sudo lxd init --auto

      - name: Provision
        env:
          DEPLOY: cloud-init
          UBUNTU_VERSION: ${{ matrix.UBUNTU_VERSION }}
          REPOSITORY: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name || github.repository }}
          BRANCH: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.ref || github.ref }}
        run: |
          ssh-keygen -f ~/.ssh/id_rsa -t rsa -N ''
          # sed -i "s/^reduce_mtu:\s0$/reduce_mtu: 80/" config.cfg
          sudo -E ./tests/pre-deploy.sh

      - name: Deployment
        run: |
          until sudo lxc exec algo -- test -f /var/log/cloud-init-output.log; do echo 'Log file not found, Sleep for 3 seconds'; sleep 3; done
          ( sudo lxc exec algo -- tail -f /var/log/cloud-init-output.log & )
          until sudo lxc exec algo -- test -f /var/lib/cloud/data/result.json; do
            echo 'Cloud init is not finished. Sleep for 30 seconds';
            sleep 30;
          done
          sudo lxc exec algo -- test -f /opt/algo/configs/localhost/.config.yml
          sudo lxc exec algo -- tar zcf /root/algo-configs.tar -C /opt/algo/configs/ .
          sudo lxc file pull algo/root/algo-configs.tar ./
          sudo tar -C ./configs -zxf algo-configs.tar

      - name: Tests
        run: |
          set -x
          sudo -E bash -x ./tests/wireguard-client.sh
          sudo env "PATH=$PATH" ./tests/ipsec-client.sh

  docker-deploy:
    runs-on: ubuntu-20.04
    strategy:
      matrix:
        UBUNTU_VERSION: ["20.04"]
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2.3.1
        with:
          python-version: '3.9'
          cache: 'pip'

      - name: Install dependencies
        run: |
          set -x
          sudo apt update -y
          sudo apt install -y \
            wireguard \
            libxml2-utils \
            crudini \
            fping \
            strongswan \
            libstrongswan-standard-plugins \
            openresolv

          python3 -m pip install --upgrade pip
          python3 -m pip install -r requirements.txt<commit_msg>Bump actions/setup-python from 2.3.1 to 2.3.2 (#14418)<commit_after>name: Main

on: [push, pull_request]

jobs:
  lint:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2.3.2
        with:
          python-version: '3.9'
          cache: 'pip'

      - name: Install dependencies
        run: |
          sudo apt update -y
          python -m pip install --upgrade pip
          pip install -r requirements.txt
          sudo snap install shellcheck
          pip install ansible-lint

      - name: Checks and linters
        run: |
          /snap/bin/shellcheck algo install.sh
          ansible-playbook main.yml --syntax-check
          ansible-lint -x experimental,package-latest,unnamed-task -v *.yml roles/{local,cloud-*}/*/*.yml

  scripted-deploy:
    runs-on: ubuntu-20.04
    strategy:
      matrix:
        UBUNTU_VERSION: ["20.04"]
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2.3.2
        with:
          python-version: '3.9'
          cache: 'pip'

      - name: Install dependencies
        run: |
          sudo apt update -y
          sudo apt install -y \
            wireguard \
            libxml2-utils \
            crudini \
            fping \
            strongswan \
            libstrongswan-standard-plugins \
            openresolv

          python3 -m pip install --upgrade pip
          python3 -m pip install -r requirements.txt

          sudo snap refresh lxd
          sudo lxd init --auto

      - name: Provision
        env:
          DEPLOY: cloud-init
          UBUNTU_VERSION: ${{ matrix.UBUNTU_VERSION }}
          REPOSITORY: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name || github.repository }}
          BRANCH: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.ref || github.ref }}
        run: |
          ssh-keygen -f ~/.ssh/id_rsa -t rsa -N ''
          # sed -i "s/^reduce_mtu:\s0$/reduce_mtu: 80/" config.cfg
          sudo -E ./tests/pre-deploy.sh

      - name: Deployment
        run: |
          until sudo lxc exec algo -- test -f /var/log/cloud-init-output.log; do echo 'Log file not found, Sleep for 3 seconds'; sleep 3; done
          ( sudo lxc exec algo -- tail -f /var/log/cloud-init-output.log & )
          until sudo lxc exec algo -- test -f /var/lib/cloud/data/result.json; do
            echo 'Cloud init is not finished. Sleep for 30 seconds';
            sleep 30;
          done
          sudo lxc exec algo -- test -f /opt/algo/configs/localhost/.config.yml
          sudo lxc exec algo -- tar zcf /root/algo-configs.tar -C /opt/algo/configs/ .
          sudo lxc file pull algo/root/algo-configs.tar ./
          sudo tar -C ./configs -zxf algo-configs.tar

      - name: Tests
        run: |
          set -x
          sudo -E bash -x ./tests/wireguard-client.sh
          sudo env "PATH=$PATH" ./tests/ipsec-client.sh

  docker-deploy:
    runs-on: ubuntu-20.04
    strategy:
      matrix:
        UBUNTU_VERSION: ["20.04"]
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2.3.2
        with:
          python-version: '3.9'
          cache: 'pip'

      - name: Install dependencies
        run: |
          set -x
          sudo apt update -y
          sudo apt install -y \
            wireguard \
            libxml2-utils \
            crudini \
            fping \
            strongswan \
            libstrongswan-standard-plugins \
            openresolv

          python3 -m pip install --upgrade pip
          python3 -m pip install -r requirements.txt
{'fraction_non_alphanumeric': 0.10656530753282653, 'fraction_numerical': 0.016171389080856944, 'mean_word_length': 1.5012098167991703, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4979813', 'n_tokens_mistral': 2369, 'n_tokens_neox': 2197, 'n_words': 591}