Brett Smith [Fri, 26 Apr 2024 14:03:37 +0000 (10:03 -0400)]
21700: Install Bundler system-wide in Rails postinst
This effectively reverts 7e2165a5b7561f0c84ede6ab4ae58003a1551a48 and
follow-ups. Other parts of our install process like test-provision
assume that the correct version of Bundler is installed system-wide
after installing arvados-api-server. So just do that and find the
`bundle` command after the fact. Refs #21700.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Fri, 26 Apr 2024 09:39:36 +0000 (05:39 -0400)]
21700: Remove arvbox special case from run-tests.sh
This was already a noop after ed268e53d2014ce5c49301559a46e67660f1404c,
and I suspect it's no longer necessary now that we do a better job of
standardizing the Bundler version anywhere, thanks in part to the
version locking added in Bundler 2.3.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Wed, 24 Apr 2024 20:15:12 +0000 (16:15 -0400)]
21721: Remove sdk/cwl version pins
Both of these were set to work around limitations in the old pip
resolver. We have since standardized on the new one in our build
process, so they are no longer needed.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Wed, 24 Apr 2024 19:29:54 +0000 (15:29 -0400)]
21721: Remove httplib2 and associated version pins
This whole stack was pinned to stay on an older version of
google-python-api-client, which has since been relaxed, and then keep
things working under the old pip resolver, which we've standardized off
of. Refs #18336.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Wed, 24 Apr 2024 19:08:22 +0000 (15:08 -0400)]
21721: Remove google-auth version pin
Refs #18001. The original motivation for this pin is not
well-documented. My best guess is it was to retain Python 2.7 support,
which is no longer a concern.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Sat, 20 Apr 2024 13:43:01 +0000 (09:43 -0400)]
21700: Work around incomplete `bundle cache` bug
It seems like the problem I was working around for zlib 3.1.0 on Ubuntu
20.04 earlier can affect basically any gem at any step, if you happen to
already have the exact same version installed on the system. This commit
adds workarounds for all gems at all steps of the bundle setup.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Fri, 19 Apr 2024 19:13:22 +0000 (15:13 -0400)]
21700: Select more desired modules in rocky8 test Dockerfile
This prevents needless thrashing when the Dockerfile installs one set of
packages and then packages we test enable and reinstall a different
module stream.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Fri, 19 Apr 2024 16:11:36 +0000 (12:11 -0400)]
21700: Remove `bundle install` from package build Dockerfiles
This work is better done in the package build script. I suspect the
problem that it's trying to solve is better solved by isolating the
RailsAPI `vendor` directory as done in 0333f33a7413aadb7159563e0a7aa2a0a50acaec.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
As long as we have something at least as recent as 2.4.0, that should be
enough for function. This recipe meets our functional needs while
striking a balance between being easy to implement and avoiding
redundant installs.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Fri, 19 Apr 2024 15:24:36 +0000 (11:24 -0400)]
21700: Remove RVM support
We haven't reliably tested this in a long time, and it's a lot of code
for no benefit. In general we want to support the versions of Ruby that
come with the distributions we support. Anybody in a very weird case can
install a supported version of Ruby from source.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Fri, 19 Apr 2024 14:05:45 +0000 (10:05 -0400)]
21700: Better isolate Bundler from the build source
This helps ensure that when we build the RailsAPI package with Bundler,
we don't accidentally pick up settings or files from the developer's
machine. This shouldn't matter when we build packages on Jenkins but
this makes it easier for developers to test package builds on their own
systems.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Stephen Smith [Thu, 18 Apr 2024 20:27:01 +0000 (16:27 -0400)]
21642: Fix tab state misalignment by oursourcing tab state management
ConditionalTabs component ensures no state misalignments by displaying tab
content by indexing into the same array of tabs that are given to the tab bar
By grouping tab and contents, we can simply remove inactive tabs before trying
to figure out which contents to show, making the logic much easier.
Arvados-DCO-1.1-Signed-off-by: Stephen Smith <stephen@curii.com>
Brett Smith [Tue, 5 Mar 2024 19:17:15 +0000 (14:17 -0500)]
21383: Remove docker-ce version pin
Now that we've removed support for older distros, all the distros we
currently support have the minimum version of docker-ce
available. Meanwhile, that older version is not available for some newer
distros we want to support. Remove the pin accordingly.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Tue, 5 Mar 2024 19:16:06 +0000 (14:16 -0500)]
21383: Standardize on os-release variables
This script was getting this information three different ways: by
reading /etc/os-release, calling lsb_release, and using its own internal
lookup tables. This is silly. Just read /etc/os-release and use those
variables throughout.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Tue, 16 Jan 2024 14:17:04 +0000 (09:17 -0500)]
21383: Update Salt installer formulas
I'm not aware of any specific reason we need this, but it's good
maintenance since I'm in here anyway.
letsencrypt 3.0.0 does introduce a backwards incompatible change because
it no longer installs the Apache plugin by default. Since we never
wanted that plugin and always specify the pkgs we want anyway, this
shouldn't affect us.
https://github.com/saltstack-formulas/letsencrypt-formula/blob/master/CHANGELOG.md#300-2021-07-02
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Mon, 15 Jan 2024 18:39:34 +0000 (13:39 -0500)]
21383: Upgrade Salt installer to Salt 3006
Salt 3006 is the first version to support Python 3.11, included with
Debian 12.
Because 3006 is the current stable, we have to update the bootstrap
invocation to match. I guess we'll have to make another change after it
becomes old-stable.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Fri, 5 Apr 2024 19:06:12 +0000 (15:06 -0400)]
21583: Configure Passenger with passenger_preload_bundler
This helps avoid situations where Passenger loads gems that create
a conflict with our bundle. We're currently seeing this with the base64
gem, where Passenger on Ruby 3.[0-3] can load the version shipped with
that Ruby before our RailsAPI bundle gets loaded. This causes an error:
[ E 2024-03-12 15:12:44.8347 907382/Tf age/Cor/App/Implementation.cpp:221 ]:
Could not spawn process for application /var/www/arvados-api/current:
The application encountered the following error: You have already
activated base64 0.1.1, but your Gemfile requires base64 0.2.0. Since
base64 is a default gem, you can either remove your dependency on it or
try updating to a newer version of bundler that supports base64 as a
default gem. (Gem::LoadError)
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>