Skip to content

Commit 8afd41d

Browse files
Create reusable GitHub action
1 parent 60a2022 commit 8afd41d

File tree

2 files changed

+54
-46
lines changed

2 files changed

+54
-46
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Setup environment
2+
description: Setup environment for integration tests execution
3+
runs:
4+
using: "composite"
5+
steps:
6+
- name: Set up cache for SDKMAN
7+
uses: actions/cache@v3
8+
with:
9+
path: ~/.sdkman
10+
key: ${{ runner.os }}-sdkman
11+
12+
- name: Set up cache for PIP
13+
uses: actions/cache@v3
14+
with:
15+
path: ~/.cache/pip
16+
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
17+
restore-keys: |
18+
${{ runner.os }}-pip-
19+
20+
- name: Install Java
21+
shell: bash
22+
run: |
23+
echo "Installing SDKMAN..."
24+
curl -s "https://get.sdkman.io" | bash
25+
source "$HOME/.sdkman/bin/sdkman-init.sh"
26+
echo "sdkman_auto_answer=true" >> ~/.sdkman/etc/config
27+
28+
echo "Installing Java versions..."
29+
sdk install java 11.0.24-zulu
30+
sdk install java 17.0.12-zulu
31+
32+
sdk default java 11.0.24-zulu
33+
sdk use java 11.0.24-zulu
34+
35+
echo "JAVA11_HOME=$JAVA_HOME_11_X64" >> $GITHUB_ENV
36+
echo "JAVA17_HOME=$JAVA_HOME_17_X64" >> $GITHUB_ENV
37+
echo "JAVA_HOME=$JAVA_HOME_11_X64" >> $GITHUB_ENV
38+
echo "PATH=$PATH" >> $GITHUB_ENV
39+
40+
- name: Install CCM
41+
shell: bash
42+
run: |
43+
echo "Creating Python virtual environment..."
44+
VENV_DIR="$HOME/venv"
45+
python3 -m venv $VENV_DIR
46+
source $VENV_DIR/bin/activate
47+
pip install --upgrade pip setuptools
48+
49+
echo "Installing CCM..."
50+
pip install "git+https://github.com/riptano/ccm.git@${CCM_VERSION}"

.github/workflows/main.yml

Lines changed: 4 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -51,29 +51,8 @@ jobs:
5151
key: ${{ runner.os }}-go-${{ hashFiles('go.mod') }}
5252
restore-keys: |
5353
${{ runner.os }}-go-
54-
- name: Install Java
55-
run: |
56-
curl -s "https://get.sdkman.io" | bash
57-
source "$HOME/.sdkman/bin/sdkman-init.sh"
58-
echo "sdkman_auto_answer=true" >> ~/.sdkman/etc/config
59-
# sdk list java
60-
61-
sdk install java 11.0.24-zulu
62-
echo "JAVA11_HOME=$JAVA_HOME_11_X64" >> $GITHUB_ENV
63-
64-
sdk install java 17.0.12-zulu
65-
echo "JAVA17_HOME=$JAVA_HOME_17_X64" >> $GITHUB_ENV
66-
67-
# by default use JDK 11
68-
sdk default java 11.0.24-zulu
69-
sdk use java 11.0.24-zulu
70-
echo "JAVA_HOME=$JAVA_HOME_11_X64" >> $GITHUB_ENV
71-
echo "PATH=$PATH" >> $GITHUB_ENV
72-
- name: Install CCM
73-
run: |
74-
python3 -m venv ~/venv
75-
~/venv/bin/pip install setuptools
76-
~/venv/bin/pip install "git+https://github.com/riptano/ccm.git@${CCM_VERSION}"
54+
- name: Setup environment
55+
uses: ./.github/actions/setup-environment
7756
- name: Start cassandra nodes
7857
run: |
7958
source ~/venv/bin/activate
@@ -158,29 +137,8 @@ jobs:
158137
- uses: actions/setup-go@v4
159138
with:
160139
go-version: ${{ matrix.go }}
161-
- name: Install Java
162-
run: |
163-
curl -s "https://get.sdkman.io" | bash
164-
source "$HOME/.sdkman/bin/sdkman-init.sh"
165-
echo "sdkman_auto_answer=true" >> ~/.sdkman/etc/config
166-
# sdk list java
167-
168-
sdk install java 11.0.24-zulu
169-
echo "JAVA11_HOME=$JAVA_HOME_11_X64" >> $GITHUB_ENV
170-
171-
sdk install java 17.0.12-zulu
172-
echo "JAVA17_HOME=$JAVA_HOME_17_X64" >> $GITHUB_ENV
173-
174-
# by default use JDK 11
175-
sdk default java 11.0.24-zulu
176-
sdk use java 11.0.24-zulu
177-
echo "JAVA_HOME=$JAVA_HOME_11_X64" >> $GITHUB_ENV
178-
echo "PATH=$PATH" >> $GITHUB_ENV
179-
- name: Install CCM
180-
run: |
181-
python3 -m venv ~/venv
182-
~/venv/bin/pip install setuptools
183-
~/venv/bin/pip install "git+https://github.com/riptano/ccm.git@${CCM_VERSION}"
140+
- name: Setup environment
141+
uses: ./.github/actions/setup-environment
184142
- name: Start cassandra nodes
185143
run: |
186144
source ~/venv/bin/activate

0 commit comments

Comments
 (0)