metaractor 3.3.0 → 3.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.envrc +5 -0
- data/.github/workflows/specs.yml +13 -0
- data/.gitignore +5 -0
- data/.rspec +0 -1
- data/.ruby-version +1 -0
- data/Gemfile +1 -2
- data/README.md +52 -9
- data/Rakefile +1 -1
- data/flake.lock +417 -0
- data/flake.nix +67 -0
- data/lib/metaractor/context_errors.rb +1 -1
- data/lib/metaractor/errors.rb +22 -24
- data/lib/metaractor/failure_output.rb +2 -2
- data/lib/metaractor/handle_errors.rb +1 -0
- data/lib/metaractor/namespace.rb +2 -3
- data/lib/metaractor/organizer.rb +10 -0
- data/lib/metaractor/parameters.rb +22 -19
- data/lib/metaractor/spec.rb +10 -7
- data/lib/metaractor/version.rb +1 -1
- data/lib/metaractor.rb +23 -22
- data/metaractor.gemspec +24 -25
- metadata +28 -22
- data/.buildkite/pipeline.yml +0 -93
- data/Deskfile +0 -3
- data/Dockerfile +0 -78
- data/brew-shim +0 -10
- data/compose.yml +0 -35
- data/docker-entrypoint.sh +0 -39
data/.buildkite/pipeline.yml
DELETED
@@ -1,93 +0,0 @@
|
|
1
|
-
env:
|
2
|
-
BUILDKITE_PLUGIN_DOCKER_CACHE_S3_BUCKET: "outstand-buildkite-cache"
|
3
|
-
# BUILDKITE_PLUGIN_DOCKER_CACHE_VOLUME_DEBUG: "true"
|
4
|
-
BUILDKITE_PLUGIN_DOCKER_COMPOSE_SHELL: "false"
|
5
|
-
# BUILDKITE_PLUGIN_DOCKER_COMPOSE_UPLOAD_CONTAINER_LOGS: "always"
|
6
|
-
BUILDKITE_PLUGIN_DOCKER_COMPOSE_PULL_RETRIES: 5
|
7
|
-
BUILDKITE_PLUGIN_DOCKER_COMPOSE_PUSH_RETRIES: 5
|
8
|
-
PLUGIN_DOCKER_COMPOSE_VERSION: "03d746fbf5171b217b732ff7d8a3e417d664df1c"
|
9
|
-
PLUGIN_DOCKER_CACHE_VERSION: "50ecc80f736a4a3a0ab1f5990e58ae8e536c85e1"
|
10
|
-
WORKSPACE_DIR: "${BUILDKITE_BUILD_CHECKOUT_PATH}"
|
11
|
-
|
12
|
-
steps:
|
13
|
-
- label: ":docker: Build"
|
14
|
-
key: build
|
15
|
-
plugins:
|
16
|
-
- seek-oss/aws-sm#v2.3.1:
|
17
|
-
env:
|
18
|
-
DOCKER_LOGIN_PASSWORD: "/buildkite/docker_password"
|
19
|
-
|
20
|
-
- docker-login#v2.1.0:
|
21
|
-
username: outstandci
|
22
|
-
retries: 2
|
23
|
-
|
24
|
-
- ecr#v2.5.0:
|
25
|
-
login: true
|
26
|
-
region: "us-east-1"
|
27
|
-
|
28
|
-
- https://github.com/outstand/docker-compose-buildkite-plugin.git#${PLUGIN_DOCKER_COMPOSE_VERSION}:
|
29
|
-
build: metaractor
|
30
|
-
image-repository: 786715713882.dkr.ecr.us-east-1.amazonaws.com/ci-images
|
31
|
-
config:
|
32
|
-
- compose.yml
|
33
|
-
|
34
|
-
- label: ":bundler: :rubygems:"
|
35
|
-
key: bundle_install
|
36
|
-
command: bundle install
|
37
|
-
depends_on: build
|
38
|
-
plugins:
|
39
|
-
- seek-oss/aws-sm#v2.3.1:
|
40
|
-
env:
|
41
|
-
DOCKER_LOGIN_PASSWORD: "/buildkite/docker_password"
|
42
|
-
|
43
|
-
- docker-login#v2.1.0:
|
44
|
-
username: outstandci
|
45
|
-
retries: 2
|
46
|
-
|
47
|
-
- ecr#v2.5.0:
|
48
|
-
login: true
|
49
|
-
region: "us-east-1"
|
50
|
-
|
51
|
-
- https://github.com/outstand/docker-compose-buildkite-plugin.git#${PLUGIN_DOCKER_COMPOSE_VERSION}:
|
52
|
-
run: metaractor
|
53
|
-
dependencies: false
|
54
|
-
config:
|
55
|
-
- compose.yml
|
56
|
-
|
57
|
-
- https://github.com/outstand/docker-cache-buildkite-plugin.git#${PLUGIN_DOCKER_CACHE_VERSION}:
|
58
|
-
name: bundler-cache
|
59
|
-
keys:
|
60
|
-
- v2-bundler-cache-{{ arch }}-{{ checksum "metaractor.gemspec" }}-{{ checksum "Gemfile" }}
|
61
|
-
- v2-bundler-cache-{{ arch }}-
|
62
|
-
save: true
|
63
|
-
volumes:
|
64
|
-
- bundler-data
|
65
|
-
|
66
|
-
- label: ":ruby: Specs"
|
67
|
-
command: rspec spec
|
68
|
-
depends_on: bundle_install
|
69
|
-
plugins:
|
70
|
-
- seek-oss/aws-sm#v2.3.1:
|
71
|
-
env:
|
72
|
-
DOCKER_LOGIN_PASSWORD: "/buildkite/docker_password"
|
73
|
-
|
74
|
-
- docker-login#v2.1.0:
|
75
|
-
username: outstandci
|
76
|
-
retries: 2
|
77
|
-
|
78
|
-
- ecr#v2.5.0:
|
79
|
-
login: true
|
80
|
-
region: "us-east-1"
|
81
|
-
|
82
|
-
- https://github.com/outstand/docker-compose-buildkite-plugin.git#${PLUGIN_DOCKER_COMPOSE_VERSION}:
|
83
|
-
run: metaractor
|
84
|
-
config:
|
85
|
-
- compose.yml
|
86
|
-
|
87
|
-
- https://github.com/outstand/docker-cache-buildkite-plugin.git#${PLUGIN_DOCKER_CACHE_VERSION}:
|
88
|
-
name: bundler-cache
|
89
|
-
keys:
|
90
|
-
- v2-bundler-cache-{{ arch }}-{{ checksum "metaractor.gemspec" }}-{{ checksum "Gemfile" }}
|
91
|
-
- v2-bundler-cache-{{ arch }}-
|
92
|
-
volumes:
|
93
|
-
- bundler-data
|
data/Deskfile
DELETED
data/Dockerfile
DELETED
@@ -1,78 +0,0 @@
|
|
1
|
-
FROM outstand/su-exec:latest as su-exec
|
2
|
-
FROM outstand/fixuid as fixuid
|
3
|
-
|
4
|
-
FROM ruby:3.1.2-bullseye
|
5
|
-
LABEL maintainer="Ryan Schlesinger <ryan@outstand.com>"
|
6
|
-
|
7
|
-
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
8
|
-
ENV DEBIAN_FRONTEND=noninteractive
|
9
|
-
|
10
|
-
RUN set -eux; \
|
11
|
-
\
|
12
|
-
groupadd -g 1000 metaractor && \
|
13
|
-
useradd -u 1000 -g metaractor -ms /bin/bash metaractor && \
|
14
|
-
\
|
15
|
-
apt-get update -y; \
|
16
|
-
apt-get install -y \
|
17
|
-
ca-certificates \
|
18
|
-
curl \
|
19
|
-
git \
|
20
|
-
build-essential \
|
21
|
-
tini \
|
22
|
-
; \
|
23
|
-
apt-get clean; \
|
24
|
-
rm -f /var/lib/apt/lists/*_*
|
25
|
-
|
26
|
-
# install su-exec
|
27
|
-
COPY --from=su-exec /sbin/su-exec /sbin/su-exec
|
28
|
-
|
29
|
-
# install fixuid
|
30
|
-
COPY --from=fixuid /usr/local/bin/fixuid /usr/local/bin/fixuid
|
31
|
-
RUN set -eux; \
|
32
|
-
\
|
33
|
-
chmod 4755 /usr/local/bin/fixuid; \
|
34
|
-
USER=metaractor; \
|
35
|
-
GROUP=metaractor; \
|
36
|
-
mkdir -p /etc/fixuid; \
|
37
|
-
printf "user: $USER\ngroup: $GROUP\n" > /etc/fixuid/config.yml
|
38
|
-
|
39
|
-
ENV BUNDLER_VERSION 2.3.21
|
40
|
-
ENV GITHUB_CLI_VERSION 2.14.4
|
41
|
-
ENV GITHUB_CLI_CHECKSUM b0073fdcc07d1de5a19a1a782c7ad9f593f991da06a809ea39f0b6148869aa96
|
42
|
-
RUN set -eux; \
|
43
|
-
\
|
44
|
-
mkdir -p /tmp/build; \
|
45
|
-
cd /tmp/build; \
|
46
|
-
\
|
47
|
-
gem install bundler -v ${BUNDLER_VERSION} -i /usr/local/lib/ruby/gems/$(ls /usr/local/lib/ruby/gems) --force; \
|
48
|
-
curl -fsSL https://github.com/cli/cli/releases/download/v${GITHUB_CLI_VERSION}/gh_${GITHUB_CLI_VERSION}_linux_amd64.deb -o gh_${GITHUB_CLI_VERSION}_linux_amd64.deb; \
|
49
|
-
echo "${GITHUB_CLI_CHECKSUM} gh_${GITHUB_CLI_VERSION}_linux_amd64.deb" | sha256sum --check; \
|
50
|
-
apt-get update -y; \
|
51
|
-
apt-get install -y --no-install-recommends \
|
52
|
-
./gh_${GITHUB_CLI_VERSION}_linux_amd64.deb \
|
53
|
-
; \
|
54
|
-
apt-get clean; \
|
55
|
-
rm -f /var/lib/apt/lists/*_*; \
|
56
|
-
rm -rf /tmp/build
|
57
|
-
|
58
|
-
COPY brew-shim /usr/bin/brew
|
59
|
-
|
60
|
-
WORKDIR /metaractor
|
61
|
-
RUN set -eux; \
|
62
|
-
\
|
63
|
-
chown -R metaractor:metaractor /metaractor
|
64
|
-
|
65
|
-
USER metaractor
|
66
|
-
|
67
|
-
COPY --chown=metaractor:metaractor Gemfile metaractor.gemspec /metaractor/
|
68
|
-
COPY --chown=metaractor:metaractor lib/metaractor/version.rb /metaractor/lib/metaractor/
|
69
|
-
RUN set -eux; \
|
70
|
-
\
|
71
|
-
git config --global push.default simple
|
72
|
-
COPY --chown=metaractor:metaractor . /metaractor/
|
73
|
-
|
74
|
-
USER root
|
75
|
-
COPY docker-entrypoint.sh /docker-entrypoint.sh
|
76
|
-
|
77
|
-
ENTRYPOINT ["/usr/bin/tini", "-g", "--", "/docker-entrypoint.sh"]
|
78
|
-
CMD ["rspec", "spec"]
|
data/brew-shim
DELETED
data/compose.yml
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
services:
|
2
|
-
metaractor:
|
3
|
-
build: .
|
4
|
-
image: outstand/metaractor:dev
|
5
|
-
stdin_open: true
|
6
|
-
tty: true
|
7
|
-
environment:
|
8
|
-
FIXUID:
|
9
|
-
FIXGID:
|
10
|
-
BUILDKITE:
|
11
|
-
BUILDKITE_BUILD_URL:
|
12
|
-
BUILDKITE_JOB_ID:
|
13
|
-
BUILDKITE_AGENT_ACCESS_TOKEN:
|
14
|
-
volumes:
|
15
|
-
- bundler-data:/usr/local/bundle
|
16
|
-
- .:/metaractor
|
17
|
-
|
18
|
-
release:
|
19
|
-
image: outstand/metaractor:dev
|
20
|
-
stdin_open: true
|
21
|
-
tty: true
|
22
|
-
command: rake release
|
23
|
-
environment:
|
24
|
-
FIXUID:
|
25
|
-
FIXGID:
|
26
|
-
volumes:
|
27
|
-
- bundler-data:/usr/local/bundle
|
28
|
-
- ~/.gitconfig:/home/metaractor/.gitconfig
|
29
|
-
- ~/.gitconfig.user:/home/metaractor/.gitconfig.user
|
30
|
-
- ~/.config/gh/hosts.yml:/home/metaractor/.config/gh/hosts.yml
|
31
|
-
- ~/.local/share/gem/credentials:/home/metaractor/.local/share/gem/credentials
|
32
|
-
- ~/.local/share/gem/credentials:/home/metaractor/.gem/credentials
|
33
|
-
|
34
|
-
volumes:
|
35
|
-
bundler-data:
|
data/docker-entrypoint.sh
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
set -euo pipefail
|
4
|
-
|
5
|
-
su-exec ${FIXUID:?Missing FIXUID var}:${FIXGID:?Missing FIXGID var} fixuid
|
6
|
-
|
7
|
-
chown_dir() {
|
8
|
-
dir=$1
|
9
|
-
if [[ -d ${dir} ]] && [[ "$(stat -c %u:%g ${dir})" != "${FIXUID}:${FIXGID}" ]]; then
|
10
|
-
echo chown $dir
|
11
|
-
chown metaractor:metaractor $dir
|
12
|
-
fi
|
13
|
-
}
|
14
|
-
|
15
|
-
chown_dir /usr/local/bundle
|
16
|
-
chown_dir /home/metaractor/.local/share/gem
|
17
|
-
chown_dir /home/metaractor/.gem
|
18
|
-
|
19
|
-
if [ "$(which "$1")" = '' ]; then
|
20
|
-
if [ "$(ls -A /usr/local/bundle/bin)" = '' ]; then
|
21
|
-
echo 'command not in path and bundler not initialized'
|
22
|
-
echo 'running bundle install'
|
23
|
-
su-exec metaractor bundle install
|
24
|
-
fi
|
25
|
-
fi
|
26
|
-
|
27
|
-
if [ "$1" = 'bundle' ]; then
|
28
|
-
set -- su-exec metaractor "$@"
|
29
|
-
elif [ "$1" = 'rake' ]; then
|
30
|
-
set -- su-exec metaractor bundle exec "$@"
|
31
|
-
|
32
|
-
su-exec metaractor bash -c 'bundle check || bundle install'
|
33
|
-
elif ls /usr/local/bundle/bin | grep -q "\b$1\b"; then
|
34
|
-
set -- su-exec metaractor bundle exec "$@"
|
35
|
-
|
36
|
-
su-exec metaractor bash -c 'bundle check || bundle install'
|
37
|
-
fi
|
38
|
-
|
39
|
-
exec "$@"
|