Bump test environment to Ubuntu 22.04 (#242)

This also fixes a few test installers:

- rustfmt is available via apt-get in 22.04, use that instead of tarball
that's no longer available
- brittany now installs cleanly in the default haskell ghc/cabal in
22.04, so just use that
- perltidy in 22.04 has slightly different output
- nixfmt download url changed (now includes OS/arch). There was
initially no binary available when nixfmt was updated,
but the devs there were kind enough to provide one:
https://github.com/serokell/nixfmt/issues/139

This runs a full `make fmt-build` without errors, though it takes a
while ;). All tests pass, too.
This commit is contained in:
Ed Slocomb 2023-11-11 16:24:28 -08:00 committed by GitHub
parent 314af56e8d
commit f884d1d611
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 15 additions and 22 deletions

View file

@ -41,6 +41,7 @@ The format is based on [Keep a Changelog].
* The new `scripts/pnp-bin.js` script is standalone minified nodejs built
from the [`pnp-bin`](https://github.com/PuddleByteComputing/pnp-bin) repo,
extracted from apheleia PR [#200].
* Test environment bumped from Ubuntu 20.04 to 22.04
### Bugs fixed
* `ktlint` would emit log messages into its stdout when formatting,
@ -76,7 +77,7 @@ The format is based on [Keep a Changelog].
* [`rubocop`](https://github.com/rubocop/rubocop) for [ruby](https://www.ruby-lang.org/en/) ([#176]).
* [`ruby-standard`](https://github.com/standardrb/standard) for
[ruby](https://www.ruby-lang.org/en/) ([#201])
* [`ruff`](https://github.com/astral-sh/ruff) for
* [`ruff`](https://github.com/astral-sh/ruff) for
[python](https://python.org) ([#236])
* [`rufo`](https://github.com/ruby-formatter/rufo) for
[Ruby](https://www.ruby-lang.org/en/) ([#177]).

View file

@ -1,5 +1,5 @@
# Ubuntu 20.04 LTS supported until April 2025
FROM ubuntu:20.04 AS common
FROM ubuntu:22.04 AS common
WORKDIR /build
COPY install-common.bash /build/

View file

@ -1,10 +1,6 @@
# PPA recommended at https://www.haskell.org/cabal/download.html
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FF3AEACEF6F88286
echo "deb [arch=amd64] http://ppa.launchpad.net/hvr/ghc/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/brittany.list
apt-get update
apt-get install -y cabal-install-3.4 ghc
ln -s /opt/cabal/bin/cabal /usr/local/bin/
apt-get install -y ghc cabal-install
cabal v2-update
cabal v2-install brittany --reorder-goals

View file

@ -1,4 +1,4 @@
apt-get install -y haskell-platform
cabal update
cabal install fourmolu
apt-get install -y ghc cabal-install
cabal v2-update
cabal v2-install fourmolu --reorder-goals
cp "${HOME}/.cabal/bin/fourmolu" /usr/local/bin

View file

@ -1,4 +1,4 @@
ver="$(latest_release serokell/nixfmt)"
wget "https://github.com/serokell/nixfmt/releases/download/${ver}/nixfmt" -O /usr/local/bin/nixfmt
wget "https://github.com/serokell/nixfmt/releases/download/${ver}/nixfmt-x86_64-linux" -O /usr/local/bin/nixfmt
chmod +x /usr/local/bin/nixfmt

View file

@ -1,4 +1,4 @@
apt-get install -y haskell-platform
cabal update
cabal install ormolu
apt-get install -y ghc cabal-install
cabal v2-update
cabal v2-install ormolu --reorder-goals
cp "${HOME}/.cabal/bin/ormolu" /usr/local/bin

View file

@ -1,5 +1 @@
ver="$(latest_release rust-lang/rustfmt | sed 's/^v//')"
wget "https://github.com/rust-lang/rustfmt/releases/download/v${ver}/rustfmt_linux-x86_64_v${ver}.tar.gz" -O rustfmt.tar.gz
tar -xf rustfmt.tar.gz
cp rustfmt*/rustfmt /usr/local/bin/
apt-get install rustfmt -y

View file

@ -5,7 +5,7 @@ while ( read +STDIN, $_, 2048 ) {
$c = 142;
$t = 255;
@t = map {
$_ % 16
$_ % 16
or $t ^= $c ^=
( $m = ( 11, 10, 116, 100, 11, 122, 20, 100 )[ $_ / 16 % 8 ] ) & 110;
$t ^= (
@ -15,8 +15,8 @@ while ( read +STDIN, $_, 2048 ) {
)[ $_ % 8 ]
} ( 16 .. 271 );
if ( ( @a = unx "C*", $_ )[20] & 48 ) {
$h = 5;
$_ = unxb24, join "",
$h = 5;
$_ = unxb24, join "",
@b = map { xB8, unxb8, chr( $_ ^ $a[ --$h + 84 ] ) } @ARGV;
s/...$/1$&/;
$d = unxV, xb25, $_;