Skip to content

Commit

Permalink
creating anisble playbooks and more content to testing framework
Browse files Browse the repository at this point in the history
Signed-off-by: greg pereira <[email protected]>
  • Loading branch information
Gregory-Pereira committed Apr 30, 2024
1 parent 4fe591d commit 58c6c0d
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 6 deletions.
40 changes: 34 additions & 6 deletions .github/workflows/instructlab_testing_framework.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,18 @@ jobs:
fail-fast: false
matrix:
include:
- arch: amd64
- image_name: instructlab-amd
aws_image_type: t3a.medium
aws_ami_architecture: x86_64
# - arch: amd64
- image_name: instructlab-nvidia
aws_image_type: t3a.medium
aws_ami_architecture: x86_64
# - image_name: instructlab-amd
# aws_image_type: g5.8xlarge
# aws_ami_architecture: x86_64
# - image_name: instructlab-nvidia
# aws_image_type: g5.8xlarge
# aws_ami_architecture: x86_64
steps:
- name: Checkout
uses: actions/[email protected]
Expand Down Expand Up @@ -73,6 +79,29 @@ jobs:
env:
TF_VAR_aws_instance_type: ${{ matrix.aws_image_type }}
TF_VAR_aws_ami_architecture: ${{ matrix.aws_ami_architecture }}

- name: Set up Python
uses: actions/[email protected]
with:
python-version: '3.11'

- name: Ansible Collections
run: ansible-galaxy install -r ./provision/requirements.yml
working-directory: ./main/training/instructlab

- name: Release Info
run: cat /etc/os-release

# This provision will actually run the instructlab images, might need to run this differently than standard container
# Commenting out the run statement in the playbook for testing
- name: Provision
run: |
ansible-playbook ./main/training/instructlab/provision/playbook.yml \
-i terraform-test-environment-module/hosts.ini \
--private-key=terraform-test-environment-module/${{ steps.terraform-output.outputs.pem_filename }}
env:
ANSIBLE_HOST_KEY_CHECKING: false
image_name: ${{ matrix.image_name }}

- name: Terraform Output
id: terraform-output
Expand All @@ -82,10 +111,9 @@ jobs:
echo "pem_filename=$(terraform output pem_filename | xargs)" >> $GITHUB_OUTPUT
working-directory: terraform-test-environment-module

- name: Set up Python
uses: actions/[email protected]
with:
python-version: '3.11'
# # THIS IS COMMING IN https://github.com/instructlab/instructlab/pull/1016
# - name: Run Integration Tests
# working-directory: ./main/training/instructlab

- name: Destroy Test Environment
id: down
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ models/*
convert_models/converted_models
recipes/common/bin/*
*/.venv/
training/instructlab/instructlab
46 changes: 46 additions & 0 deletions training/instructlab/provision/playbook.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
- name: Test Environment Provisioning
hosts: test_environments
remote_user: fedora
become: true
gather_facts: false

tasks:

- name: Wait until the instance is ready
ansible.builtin.wait_for_connection:
delay: 10
timeout: 60

- name: Gather facts for first time
ansible.builtin.setup:

- name: Required Packages
ansible.builtin.package:
name: "{{ item }}"
state: present
with_items:
- podman
- cuda-toolkit
- python3
- git
- python3-pip
- cmake
- build-essential
- virtualenv
- make

# - name: Install bootc
# ansible.builtin.command: |
# sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-d9fbb93c29

# - name: Run Instructlab image
# containers.podman.podman_container:
# name: {{ image_name }}
# image: ghcr.io/containers/{{ image_name }}:latest
# state: started
# interactive: true
# tty: true
# detach: false
# vars:
# my_variable: "{{ lookup('env', 'image_name') }}"
5 changes: 5 additions & 0 deletions training/instructlab/provision/requirements.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
collections:
- name: containers.podman
version: 1.13.0
- name: ansible.builtin

0 comments on commit 58c6c0d

Please sign in to comment.