Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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 month 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 (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-02-27T17:14:28.000Z (10 months ago)
- Last Synced: 2024-10-31T10:37:48.682Z (about 2 months ago)
- Topics: actions, tarantool
- Language: TypeScript
- Homepage:
- Size: 1.22 MB
- Stars: 9
- Watchers: 7
- Forks: 2
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![Test](https://github.com/tarantool/setup-tarantool/workflows/Test/badge.svg)
# 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:bookwormenv:
DEBIAN_FRONTEND: noninteractivesteps:
- 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.