feat: add esp-idf installation and depends for gitea act runner
This commit is contained in:
85
ansible/roles/gitea-actions/tasks/esp-idf.yml
Normal file
85
ansible/roles/gitea-actions/tasks/esp-idf.yml
Normal file
@@ -0,0 +1,85 @@
|
||||
---
|
||||
- name: install ESP-IDF build dependencies
|
||||
become: true
|
||||
ansible.builtin.dnf:
|
||||
name:
|
||||
- git
|
||||
- wget
|
||||
- flex
|
||||
- bison
|
||||
- gperf
|
||||
- python3
|
||||
- python3-pip
|
||||
- cmake
|
||||
- ninja-build
|
||||
- ccache
|
||||
- libffi-devel
|
||||
- libusb1-devel
|
||||
state: present
|
||||
tags: gitea-actions
|
||||
|
||||
- name: check if ESP-IDF is installed
|
||||
ansible.builtin.stat:
|
||||
path: "{{ esp_idf_path }}"
|
||||
register: esp_idf_dir
|
||||
tags: gitea-actions
|
||||
|
||||
- name: clone ESP-IDF repository
|
||||
become: true
|
||||
ansible.builtin.git:
|
||||
repo: https://github.com/espressif/esp-idf.git
|
||||
dest: "{{ esp_idf_path }}"
|
||||
version: "{{ esp_idf_version }}"
|
||||
recursive: true
|
||||
force: false
|
||||
when: not esp_idf_dir.stat.exists
|
||||
tags: gitea-actions
|
||||
|
||||
- name: ensure ESP-IDF submodules are initialized
|
||||
become: true
|
||||
ansible.builtin.command:
|
||||
cmd: git submodule update --init --recursive
|
||||
chdir: "{{ esp_idf_path }}"
|
||||
changed_when: false
|
||||
tags: gitea-actions
|
||||
|
||||
- name: set ESP-IDF directory ownership
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: "{{ esp_idf_path }}"
|
||||
owner: "{{ gitea_runner_user }}"
|
||||
group: "{{ gitea_runner_user }}"
|
||||
recurse: true
|
||||
tags: gitea-actions
|
||||
|
||||
- name: set SELinux context for ESP-IDF directory
|
||||
become: true
|
||||
community.general.sefcontext:
|
||||
target: "{{ esp_idf_path }}(/.*)?"
|
||||
setype: usr_t
|
||||
state: present
|
||||
when: ansible_selinux.status == "enabled"
|
||||
notify: restore esp-idf selinux context
|
||||
tags: gitea-actions
|
||||
|
||||
- name: create ESP-IDF tools directory for runner user
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: "{{ gitea_runner_home }}/.espressif"
|
||||
state: directory
|
||||
owner: "{{ gitea_runner_user }}"
|
||||
group: "{{ gitea_runner_user }}"
|
||||
mode: "0755"
|
||||
tags: gitea-actions
|
||||
|
||||
- name: install ESP-IDF tools for runner user
|
||||
become: true
|
||||
become_user: "{{ gitea_runner_user }}"
|
||||
ansible.builtin.shell: |
|
||||
export IDF_TOOLS_PATH="{{ gitea_runner_home }}/.espressif"
|
||||
{{ esp_idf_path }}/install.sh esp32
|
||||
args:
|
||||
creates: "{{ gitea_runner_home }}/.espressif/tools"
|
||||
environment:
|
||||
HOME: "{{ gitea_runner_home }}"
|
||||
tags: gitea-actions
|
||||
Reference in New Issue
Block a user