Skip to content

Commit 0983f99

Browse files
Create reusable GitHub action
1 parent 60a2022 commit 0983f99

File tree

2 files changed

+55
-46
lines changed

2 files changed

+55
-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: 5 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
push:
55
branches:
66
- master
7+
- it-next
78
pull_request:
89
types: [ opened, synchronize, reopened ]
910

@@ -51,29 +52,8 @@ jobs:
5152
key: ${{ runner.os }}-go-${{ hashFiles('go.mod') }}
5253
restore-keys: |
5354
${{ 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}"
55+
- name: Setup environment
56+
uses: ./.github/actions/setup-environment
7757
- name: Start cassandra nodes
7858
run: |
7959
source ~/venv/bin/activate
@@ -158,29 +138,8 @@ jobs:
158138
- uses: actions/setup-go@v4
159139
with:
160140
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}"
141+
- name: Setup environment
142+
uses: ./.github/actions/setup-environment
184143
- name: Start cassandra nodes
185144
run: |
186145
source ~/venv/bin/activate

0 commit comments

Comments
 (0)