Skip to content

Commit ec9f40a

Browse files
committed
feat(ci): adopt mise [WIP]
1 parent d70ddc3 commit ec9f40a

5 files changed

Lines changed: 35 additions & 20 deletions

File tree

.github/workflows/test.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,8 @@ jobs:
2828
# Because we want to confirm it runs on macOS, and
2929
# there are no Docker images based on frickin' macOS.
3030

31-
- uses: ruby/setup-ruby@v1
32-
with:
33-
ruby-version: 4.0.2
31+
- name: Install tooling
32+
uses: jdx/mise-action@13abe502c30c1559a5c37dff303831bab82c9402 # v2
3433

3534
- name: Install Test Dependencies
3635
working-directory: test
@@ -46,6 +45,8 @@ jobs:
4645
4746
- name: Install fish
4847
uses: fish-actions/install-fish@4bb37a71daebb76c6fb7d83771cff31b8a78c28e # v1.2.0
48+
# TODO: pin fish version; renovate
49+
# ⚠️ 3 vs 4 !
4950

5051
- name: Install sdkman-for-fish
5152
shell: fish "{0}"

.idea/runConfigurations/Run_Tests.xml

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

mise.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[tools]
2+
ruby = "3.4"

test/.tool-versions

Lines changed: 0 additions & 2 deletions
This file was deleted.

test/Dockerfile

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,49 @@
1-
FROM ubuntu@sha256:186072bba1b2f436cbb91ef2567abca677337cfc786c86e107d25b7072feef0c
1+
FROM ubuntu:24.04
22

33
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
44

5+
# TODO: pin fish version; renovate
6+
57
# Install dependencies
68
# hadolint ignore=DL3008,DL3028
79
RUN apt-get update \
810
&& apt-get -y --no-install-recommends install \
11+
autoconf \
912
build-essential \
13+
ca-certificates \
1014
curl \
1115
fish \
12-
nano \
13-
ruby \
14-
ruby-dev \
15-
tree \
16+
libssl-dev \
17+
libyaml-dev \
18+
libffi-dev \
19+
libgmp-dev \
20+
rustc \
1621
unzip \
1722
zip \
23+
zlib1g-dev \
1824
&& apt-get clean \
19-
&& rm -rf /var/lib/apt/lists/* \
20-
&& gem install bundler
21-
22-
WORKDIR /tmp
23-
COPY test/Gemfile ./
24-
RUN bundle install \
25-
&& rm Gemfile
25+
&& rm -rf /var/lib/apt/lists/*
2626

2727
# Switch to non-root user for test context
2828
ARG TEST_HOME="/home/test"
2929
RUN groupadd -r test \
3030
&& useradd --no-log-init -r -g test -m -d $TEST_HOME test
3131
USER test
32+
33+
WORKDIR "${TEST_HOME}"
34+
COPY --chown=test:test mise.toml .config/mise/config.toml
35+
ENV PATH="${TEST_HOME}/.local/share/mise/shims/:${TEST_HOME}/.local/bin/:${PATH}"
36+
ENV MISE_RUBY_INSTALL=true
37+
RUN curl --fail https://mise.run | sh \
38+
&& mise install \
39+
&& mise activate --shims \
40+
&& gem install bundler
41+
42+
WORKDIR "${TEST_HOME}/sdk4fish_test"
43+
COPY --chown=test:test test ./
44+
RUN bundle install
45+
46+
# TODO: pin sdkman version, renovate (possible?)
3247
RUN curl -s "https://get.sdkman.io" | bash
3348

3449
# To speed up tests, uncomment this shared setup:
@@ -52,7 +67,5 @@ RUN ls -R $TEST_HOME/.config/fish/
5267
ENV RUNNING_IN_CONTAINER=yessir
5368

5469
# Run tests
55-
WORKDIR "${TEST_HOME}/sdk4fish_test"
56-
COPY --chown=test:test test ./
5770
ENTRYPOINT ["cucumber"]
5871
CMD ["--publish-quiet", "--tags", "not @pending"]

0 commit comments

Comments
 (0)