https://github.com/tarantool/setup-tarantool
Setup Tarantool for use with Github Actions
https://github.com/tarantool/setup-tarantool
actions tarantool
Last synced: about 1 year ago
JSON representation
Setup Tarantool for use with Github Actions
- Host: GitHub
- URL: https://github.com/tarantool/setup-tarantool
- Owner: tarantool
- License: mit
- Created: 2020-10-21T14:53:55.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-02-27T17:14:28.000Z (over 2 years ago)
- Last Synced: 2025-03-28T04:03:16.891Z (about 1 year ago)
- Topics: actions, tarantool
- Language: TypeScript
- Homepage:
- Size: 1.22 MB
- Stars: 9
- Watchers: 6
- Forks: 2
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# Setup Tarantool
This action will set up [Tarantool](https://www.tarantool.io) environment and **cache the packages**.
- When cached, it takes \~1-2s to finish.
- The first run takes \~40s.
- Cache size is 20MB-30MB.
- Runs on GitHub-hosted `ubuntu-*` runners.
- Runs on Debian/Ubuntu self-hosted runners.
- Runs inside Debian/Ubuntu container jobs.
# Usage
### Basic
```yaml
steps:
- uses: actions/checkout@v4
- uses: tarantool/setup-tarantool@v3
with:
tarantool-version: '2.10'
- run: tarantoolctl rocks install luatest
- run: tarantoolctl rocks make
- run: .rocks/bin/luatest -v
```
### Install an exact version
```yaml
steps:
- uses: actions/checkout@v4
- uses: tarantool/setup-tarantool@v3
with:
tarantool-version: '2.10.4'
```
### Install a nightly build
*Important:* nightly builds are not available for 2.10.0 and newer.
```yaml
steps:
- uses: actions/checkout@v4
- uses: tarantool/setup-tarantool@v3
with:
tarantool-version: '2.6' # or, say, '2.6.1.0' for exact version
nightly-build: true
```
### Self-hosted runners and container jobs
It requires an additional step to bring dependencies needed for the action
itself. These dependencies are preinstalled on GitHub hosted runners, but a
self-hosted runner and a docker image may miss them.
Configuring `apt-get` to skip recommended and suggested packages reduces the
cache size from \~200MiB to \~30MiB.
```yaml
jobs:
myjob:
runs-on: ubuntu-latest
container:
image: debian:bookworm
env:
DEBIAN_FRONTEND: noninteractive
steps:
- name: Configure apt-get
run: |
mkdir -p /etc/apt/apt.conf.d
printf '%s\n%s\n' \
'APT::Install-Recommends "false";' \
'APT::Install-Suggests "false";' \
> /etc/apt/apt.conf.d/no-recommends-no-suggests.conf
- name: Update repositories metadata
run: |
apt-get -y update
- name: Workaround interactive tzdata configuration problem (gh-50)
run:
apt-get -y install tzdata
- name: Install setup-tarantool dependencies
run: |
apt-get -y install sudo lsb-release gnupg ca-certificates rsync
- uses: tarantool/setup-tarantool@v3
with:
tarantool-version: '2.11'
```
# License
The scripts and documentation in this project are released under the [MIT License](LICENSE).
# Contributions
Contributions are welcome! Just open an issue or send a pull request.
Check out [HACKING.md](./HACKING.md) file for hints.