Skip to content

Commit 2a7a05c

Browse files
ci: reuse environment preparation from composite action (#24)
1 parent 68f3cc2 commit 2a7a05c

File tree

3 files changed

+4
-93
lines changed

3 files changed

+4
-93
lines changed

.github/actions/prepare-env-composite-action/action.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@ runs:
55
using: "composite"
66

77
steps:
8-
- name: Checkout repository
9-
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # SHA for version 5.0.0
10-
118
- name: Set up Python
129
id: set_up_python
1310
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # SHA for version 5.6.0

.github/workflows/lint.yaml

Lines changed: 2 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -14,40 +14,8 @@ jobs:
1414
- name: Checkout repository
1515
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # SHA for version 5.0.0
1616

17-
- name: Set up Python
18-
id: set_up_python
19-
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # SHA for version 5.6.0
20-
with:
21-
python-version: "3.12"
22-
23-
- name: Get environment info
24-
id: env_info
25-
run: |
26-
venv_dir=$(make print-venv-dir)
27-
collections_dir=$(make print-ansible-collections-dir)
28-
python_reqs_file=$(make print-python-requirements-file)
29-
ansible_reqs_file=$(make print-ansible-requirements-file)
30-
31-
echo "venv_dir=$venv_dir" >> $GITHUB_OUTPUT
32-
echo "collections_dir=$collections_dir" >> $GITHUB_OUTPUT
33-
echo "python_reqs_file=$python_reqs_file" >> $GITHUB_OUTPUT
34-
echo "ansible_reqs_file=$ansible_reqs_file" >> $GITHUB_OUTPUT
35-
36-
# GitHub’s hashFiles isn’t available here, so use sha256sum
37-
echo "python_hash=$(sha256sum $python_reqs_file | cut -d ' ' -f1)" >> $GITHUB_OUTPUT
38-
echo "ansible_hash=$(sha256sum $ansible_reqs_file | cut -d ' ' -f1)" >> $GITHUB_OUTPUT
39-
40-
- name: Restore cached venv
41-
uses: actions/cache/restore@0400d5f644dc74513175e3cd8d07132dd4860809 # SHA for version 4.2.4
42-
with:
43-
key: venv-${{ runner.os }}-${{ steps.set_up_python.outputs.python-version }}-${{ steps.env_info.outputs.python_hash }}
44-
path: ${{ steps.env_info.outputs.venv_dir }}
45-
46-
- name: Restore cached Ansible collections
47-
uses: actions/cache/restore@0400d5f644dc74513175e3cd8d07132dd4860809 # SHA for version 4.2.4
48-
with:
49-
key: collections-${{ runner.os }}-${{ steps.env_info.outputs.ansible_hash }}
50-
path: ${{ steps.env_info.outputs.collections_dir }}
17+
- name: Setup env with Python and Ansible dependencies
18+
uses: ./.github/actions/prepare-env-composite-action
5119

5220
- name: Setup Terraform
5321
uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # SHA for version 3.1.2
@@ -58,22 +26,5 @@ jobs:
5826
- name: Init Terraform
5927
run: make init
6028

61-
- name: Set up venv with dependencies
62-
run: |
63-
touch ${{ steps.env_info.outputs.ansible_reqs_file }}
64-
make venv
65-
66-
- name: Cache venv
67-
uses: actions/cache/save@0400d5f644dc74513175e3cd8d07132dd4860809 # SHA for version 4.2.4
68-
with:
69-
key: venv-${{ runner.os }}-${{ steps.set_up_python.outputs.python-version }}-${{ steps.env_info.outputs.python_hash }}
70-
path: ${{ steps.env_info.outputs.venv_dir }}
71-
72-
- name: Cache Ansible collections
73-
uses: actions/cache/save@0400d5f644dc74513175e3cd8d07132dd4860809 # SHA for version 4.2.4
74-
with:
75-
key: collections-${{ runner.os }}-${{ steps.env_info.outputs.ansible_hash }}
76-
path: ${{ steps.env_info.outputs.collections_dir }}
77-
7829
- name: Run linting
7930
run: make lint

.github/workflows/update_cache.yaml

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -14,42 +14,5 @@ jobs:
1414
- name: Checkout repository
1515
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # SHA for version 5.0.0
1616

17-
- name: Set up Python
18-
id: set_up_python
19-
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # SHA for version 5.6.0
20-
with:
21-
python-version: "3.12"
22-
23-
- name: Get environment info
24-
id: env_info
25-
run: |
26-
venv_dir=$(make print-venv-dir)
27-
collections_dir=$(make print-ansible-collections-dir)
28-
python_reqs_file=$(make print-python-requirements-file)
29-
ansible_reqs_file=$(make print-ansible-requirements-file)
30-
31-
echo "venv_dir=$venv_dir" >> $GITHUB_OUTPUT
32-
echo "collections_dir=$collections_dir" >> $GITHUB_OUTPUT
33-
echo "python_reqs_file=$python_reqs_file" >> $GITHUB_OUTPUT
34-
echo "ansible_reqs_file=$ansible_reqs_file" >> $GITHUB_OUTPUT
35-
36-
# GitHub’s hashFiles isn’t available here, so use sha256sum
37-
echo "python_hash=$(sha256sum $python_reqs_file | cut -d ' ' -f1)" >> $GITHUB_OUTPUT
38-
echo "ansible_hash=$(sha256sum $ansible_reqs_file | cut -d ' ' -f1)" >> $GITHUB_OUTPUT
39-
40-
- name: Cache venv
41-
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # SHA for version 4.2.4
42-
with:
43-
key: venv-${{ runner.os }}-${{ steps.set_up_python.outputs.python-version }}-${{ steps.env_info.outputs.python_hash }}
44-
path: ${{ steps.env_info.outputs.venv_dir }}
45-
46-
- name: Cache Ansible collections
47-
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # SHA for version 4.2.4
48-
with:
49-
key: collections-${{ runner.os }}-${{ steps.env_info.outputs.ansible_hash }}
50-
path: ${{ steps.env_info.outputs.collections_dir }}
51-
52-
- name: Install dependencies according to requirements files
53-
run: |
54-
touch ${{ steps.env_info.outputs.ansible_reqs_file }}
55-
make venv
17+
- name: Prepare environment to ensure cache is updated
18+
uses: ./.github/actions/prepare-env-composite-action

0 commit comments

Comments
 (0)