cd: update go and some package versions #3060
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Tests | |
on: | |
push: | |
pull_request: | |
env: | |
GO_VERSION: '>=1.21.5' | |
PYTHON_VERSION: '3.x' | |
jobs: | |
tests-ce: | |
if: | | |
github.event_name == 'push' || | |
github.event_name == 'pull_request' && github.event.pull_request.head.repo.owner.login != 'tarantool' | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
tarantool-version: ["1.10", "2.8", "2.x-latest"] | |
tests: ["other", "integration"] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@master | |
with: | |
fetch-depth: 0 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Setup Mage | |
run: | | |
git clone https://github.com/magefile/mage | |
cd mage | |
go run bootstrap.go | |
- name: Install build requirements | |
run: | | |
sudo apt -y update | |
sudo apt -y install git gcc make cmake unzip | |
git config --global user.email "[email protected]" | |
git config --global user.name "Tar Antool" | |
- name: Install Tarantool | |
if: matrix.tarantool-version != '2.x-latest' | |
uses: tarantool/setup-tarantool@v1 | |
with: | |
tarantool-version: '${{ matrix.tarantool-version }}' | |
- name: Install latest pre-release Tarantool 2.x | |
if: matrix.tarantool-version == '2.x-latest' | |
run: | | |
curl -L https://tarantool.io/pre-release/2/installer.sh | bash | |
sudo apt-get -y install tarantool | |
- name: Cache docker images | |
uses: satackey/[email protected] | |
continue-on-error: true | |
with: | |
key: ${{ runner.os }}-docker-layer-cache-${{ matrix.tarantool-version }} | |
restore-keys: | | |
${{ runner.os }}-docker-layer-cache- | |
- name: Stop and disable Taranool 1.10 example service | |
if: matrix.tarantool-version == '1.10' | |
run: | | |
sudo systemctl stop tarantool@example || true | |
sudo systemctl disable tarantool@example || true | |
sudo rm -rf /lib/systemd/system/[email protected] | |
# This server starts and listen on 8084 port that is used for tests | |
- name: Stop Mono server | |
run: sudo kill -9 $(sudo lsof -t -i tcp:8084) || true | |
- name: Setup python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '${{ env.PYTHON_VERSION }}' | |
- name: Install tests requirements | |
run: | | |
pip3 install -r test/requirements.txt | |
tarantoolctl rocks install luacheck | |
- name: Log versions | |
run: | | |
go version | |
mage --version | |
tarantool --version | |
rpm --version | |
- name: Stop and disable mono-xsp4 service | |
run: | | |
sudo systemctl stop mono-xsp4.service || true | |
sudo systemctl disable mono-xsp4.service || true | |
- name: Linter | |
if: matrix.tests == 'other' | |
run: mage lint | |
- name: Build cartridge | |
run: mage build | |
- name: License checker | |
run: | | |
go install github.com/uw-labs/lichen@latest | |
mage checklicenses | |
- name: Unit tests | |
if: matrix.tests == 'other' | |
run: mage unit | |
- name: Integration tests | |
if: matrix.tests == 'integration' | |
run: mage integration | |
- name: Examples tests | |
if: matrix.tests == 'other' | |
run: mage testExamples | |
- name: e2e tests | |
if: matrix.tests == 'other' | |
run: mage e2e | |
tests-ee: | |
if: | | |
github.event_name == 'push' | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
tests: ["other", "integration"] | |
sdk-version: ["2.8.2-0-gfc96d10f5-r421"] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@master | |
with: | |
fetch-depth: 0 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Setup Mage | |
run: | | |
git clone https://github.com/magefile/mage | |
cd mage | |
go run bootstrap.go | |
- name: Install build requirements | |
run: | | |
sudo apt -y update | |
sudo apt -y install git gcc make cmake unzip | |
git config --global user.email "[email protected]" | |
git config --global user.name "Tar Antool" | |
- name: Cache Tarantool SDK | |
id: cache-sdk | |
uses: actions/cache@v3 | |
with: | |
path: tarantool-enterprise | |
key: ${{ matrix.sdk-version }} | |
- name: Download Tarantool SDK | |
if: steps.cache-sdk.outputs.cache-hit != 'true' | |
run: | | |
ARCHIVE_NAME=tarantool-enterprise-bundle-${{ matrix.sdk-version }}.tar.gz | |
curl -O -L \ | |
https://tarantool:${{ secrets.SDK_DOWNLOAD_TOKEN }}@download.tarantool.io/enterprise/${ARCHIVE_NAME} | |
tar -xzf ${ARCHIVE_NAME} | |
rm -f ${ARCHIVE_NAME} | |
source tarantool-enterprise/env.sh | |
- name: Add SDK to PATH and set TARANTOOL_SDK_PATH variable | |
run: | | |
SDK_PATH="$(realpath tarantool-enterprise)" | |
echo "${SDK_PATH}" >> ${GITHUB_PATH} | |
echo "TARANTOOL_SDK_PATH=${SDK_PATH}" >> ${GITHUB_ENV} | |
# This server starts and listen on 8084 port that is used for tests | |
- name: Stop Mono server | |
run: sudo kill -9 $(sudo lsof -t -i tcp:8084) || true | |
- name: Setup python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.x' | |
- name: Install tests requirements | |
run: | | |
pip3 install -r test/requirements.txt | |
tarantoolctl rocks install luacheck | |
- name: Log versions | |
run: | | |
go version | |
mage --version | |
tarantool --version | |
rpm --version | |
- name: Linter | |
if: matrix.tests == 'other' | |
run: mage lint | |
- name: Build cartridge | |
run: mage build | |
- name: License checker | |
run: | | |
go install github.com/uw-labs/lichen@latest | |
mage checklicenses | |
- name: Unit tests | |
if: matrix.tests == 'other' | |
run: mage unit | |
- name: Integration tests | |
if: matrix.tests == 'integration' | |
run: mage integration | |
- name: Examples tests | |
if: matrix.tests == 'other' | |
run: mage testExamples | |
- name: e2e tests | |
if: matrix.tests == 'other' | |
run: mage e2e |