Skip to content

Commit e01479f

Browse files
committed
ci: simplify container jobs
The list of the changes is the following. * Transformed `--no-install-recommends` and `--no-install-suggests` into `apt-get` configuration options to bring them into `apt-get` commands run by the `setup-tarantool` action. It reduces a list of installed dependencies and, so, reduces a size of the cache file (~200MB to ~30MB). * Eliminated `apt-get upgrade`, because I see no reason to perform it. Kept `apt-get update` (refreshing of repositories metadata). * Extracted the `tzdata` package installation to make the reason of this step clear. * Clarified the `setup-node` invocation to make it clear that it is not a required step for using the setup-tarantool action is a container job. * Updated setup-node action to v4, updated nodejs version to 20. Part of #47
1 parent b2da4f1 commit e01479f

File tree

1 file changed

+27
-8
lines changed

1 file changed

+27
-8
lines changed

.github/workflows/test-docker.yml

+27-8
Original file line numberDiff line numberDiff line change
@@ -32,20 +32,39 @@ jobs:
3232
env:
3333
TARANTOOL_CACHE_KEY_SUFFIX: -DA-${{ matrix.image }}-${{ github.run_id }}
3434
DEBIAN_FRONTEND: noninteractive
35-
TZ: Etc/UTC
3635

3736
steps:
38-
- name: Setup system
37+
- name: Configure apt-get
38+
run: |
39+
mkdir -p /etc/apt/apt.conf.d
40+
printf '%s\n%s\n' \
41+
'APT::Install-Recommends "false";' \
42+
'APT::Install-Suggests "false";' \
43+
> /etc/apt/apt.conf.d/no-recommends-no-suggests.conf
44+
45+
- name: Update repositories metadata
3946
run: |
4047
apt-get -y update
41-
apt-get -y upgrade
42-
apt-get -y install --no-install-recommends --no-install-suggests \
43-
tzdata sudo lsb-release gnupg ca-certificates rsync
4448
45-
- name: Setup nodejs
46-
uses: actions/setup-node@v3
49+
- name: Workaround interactive tzdata configuration problem (gh-50)
50+
run:
51+
apt-get -y install tzdata
52+
53+
- name: Install setup-tarantool dependencies
54+
run: |
55+
apt-get -y install sudo lsb-release gnupg ca-certificates rsync
56+
57+
# Bring `node` executable file into PATH for latest-version
58+
# and verify-versions actions.
59+
#
60+
# It is not needed for a usual usage of the setup-tarantool
61+
# action within a container job, because GitHub Action
62+
# runner mounts a volume with a `node` executable into the
63+
# container.
64+
- name: Setup Node.js
65+
uses: actions/setup-node@v4
4766
with:
48-
node-version: '18.18.0'
67+
node-version: 20
4968

5069
- uses: actions/checkout@v4
5170

0 commit comments

Comments
 (0)