Merge pull request #13733 from sjackman/sj/ubuntu22.04

Update LINUX_CI_OS_VERSION to Ubuntu 22.04
This commit is contained in:
Mike McQuaid 2022-09-06 15:21:52 +01:00 committed by GitHub
commit 0334658633
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 37 additions and 33 deletions

View File

@ -11,7 +11,7 @@ on:
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
permissions:
actions: read
contents: read

View File

@ -14,7 +14,7 @@ permissions:
jobs:
ubuntu:
if: startsWith(github.repository, 'Homebrew/')
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:

View File

@ -21,7 +21,7 @@ permissions:
jobs:
updates:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
if: github.repository == 'Homebrew/brew'
steps:
- name: Setup Homebrew

View File

@ -15,7 +15,7 @@ permissions:
jobs:
spdx:
if: github.repository == 'Homebrew/brew'
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Set up Homebrew
id: set-up-homebrew

View File

@ -20,7 +20,7 @@ concurrency:
jobs:
syntax:
if: github.repository == 'Homebrew/brew'
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Set up Homebrew
id: set-up-homebrew
@ -52,7 +52,7 @@ jobs:
name: tap syntax (Linux)
needs: syntax
if: startsWith(github.repository, 'Homebrew/')
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Set up Homebrew
id: set-up-homebrew
@ -146,7 +146,7 @@ jobs:
vendored-gems:
name: vendored gems (Linux)
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Set up Homebrew
id: set-up-homebrew
@ -167,31 +167,31 @@ jobs:
docker:
needs: syntax
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
- name: Build Docker image
run: docker build -t brew --build-arg=version=16.04 .
run: docker build -t brew --build-arg=version=22.04 .
- name: Deploy the Docker image to GitHub Packages and Docker Hub
if: github.ref == 'refs/heads/master'
run: |
echo ${{secrets.HOMEBREW_BREW_GITHUB_PACKAGES_TOKEN}} |
docker login ghcr.io -u BrewTestBot --password-stdin
docker tag brew "ghcr.io/homebrew/ubuntu16.04:master"
docker push "ghcr.io/homebrew/ubuntu16.04:master"
docker tag brew "ghcr.io/homebrew/ubuntu22.04:master"
docker push "ghcr.io/homebrew/ubuntu22.04:master"
echo ${{secrets.HOMEBREW_BREW_DOCKER_TOKEN}} |
docker login -u brewtestbot --password-stdin
docker tag brew "homebrew/ubuntu16.04:master"
docker push "homebrew/ubuntu16.04:master"
docker tag brew "homebrew/ubuntu22.04:master"
docker push "homebrew/ubuntu22.04:master"
tests:
name: ${{ matrix.name }}
needs: syntax
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
strategy:
matrix:
include:
@ -244,7 +244,7 @@ jobs:
test-default-formula-linux:
name: test default formula (Linux)
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
env:
HOMEBREW_BOOTSNAP: 1
steps:

View File

@ -29,7 +29,7 @@ jobs:
contains(github.event.pull_request.labels.*.name, 'stale')
)
)
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Mark/Close Stale Issues and Pull Requests
uses: actions/stale@v5
@ -55,7 +55,7 @@ jobs:
contains(github.event.pull_request.labels.*.name, 'stale')
)
)
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Mark/Close Stale `bump-formula-pr` and `bump-cask-pr` Pull Requests
uses: actions/stale@v5
@ -72,7 +72,7 @@ jobs:
lock-threads:
if: startsWith(github.repository, 'Homebrew/') && github.event_name != 'issue_comment'
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Lock Outdated Threads
uses: dessant/lock-threads@e460dfeb36e731f3aeb214be6b0c9a9d9a67eda6

View File

@ -18,7 +18,7 @@ concurrency: triage-${{ github.head_ref }}
jobs:
review:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
if: startsWith(github.repository, 'Homebrew/')
steps:
- name: Re-run this workflow

View File

@ -45,15 +45,12 @@ module OS
::OS_VERSION = ENV.fetch("HOMEBREW_OS_VERSION").freeze
LINUX_CI_OS_VERSION = "Ubuntu 16.04"
LINUX_GLIBC_CI_VERSION = "2.23"
LINUX_GCC_CI_VERSION = "5.0"
LINUX_PREFERRED_GCC_FORMULA = "gcc@5"
# Ubuntu 22.04 (see Linux-CI.md)
# See Linux-CI.md
LINUX_CI_OS_VERSION = "Ubuntu 22.04"
LINUX_GLIBC_CI_VERSION = "2.35"
LINUX_GLIBC_NEXT_CI_VERSION = "2.35"
# LINUX_GCC_CI_VERSION = "11.0"
# LINUX_PREFERRED_GCC_FORMULA = "gcc@11"
LINUX_GCC_CI_VERSION = "11.0"
LINUX_PREFERRED_GCC_FORMULA = "gcc@11"
if OS.mac?
require "os/mac"

View File

@ -52,7 +52,7 @@ describe CompilerSelector do
it "returns gcc-5 if gcc formula offers gcc-5 on linux", :needs_linux do
software_spec.fails_with(:clang)
allow(Formulary).to receive(:factory).with("gcc@5").and_return(double(version: Version.new("5.0")))
allow(Formulary).to receive(:factory).with("gcc@11").and_return(double(version: Version.new("5.0")))
expect(selector.compiler).to eq("gcc-5")
end
@ -60,14 +60,14 @@ describe CompilerSelector do
software_spec.fails_with(:clang)
software_spec.fails_with(gcc: "5")
software_spec.fails_with(gcc: "7")
allow(Formulary).to receive(:factory).with("gcc@5").and_return(double(version: Version.new("5.0")))
allow(Formulary).to receive(:factory).with("gcc@11").and_return(double(version: Version.new("5.0")))
expect(selector.compiler).to eq("gcc-6")
end
it "returns gcc-7 if gcc formula offers gcc-5 and fails with gcc <= 6 on linux", :needs_linux do
software_spec.fails_with(:clang)
software_spec.fails_with(:gcc) { version "6" }
allow(Formulary).to receive(:factory).with("gcc@5").and_return(double(version: Version.new("5.0")))
allow(Formulary).to receive(:factory).with("gcc@11").and_return(double(version: Version.new("5.0")))
expect(selector.compiler).to eq("gcc-7")
end

View File

@ -24,7 +24,7 @@ describe FormulaInstaller do
stub_formula_loader formula
stub_formula_loader formula("gcc") { url "gcc-1.0" }
stub_formula_loader formula("gcc@5") { url "gcc-5.0" }
stub_formula_loader formula("gcc@11") { url "gcc-11.0" }
fi = FormulaInstaller.new(formula)
fi.fetch

View File

@ -142,7 +142,7 @@ describe Formulary do
before do
allow(described_class).to receive(:loader_for).and_call_original
stub_formula_loader formula("gcc") { url "gcc-1.0" }
stub_formula_loader formula("gcc@5") { url "gcc-5.0" }
stub_formula_loader formula("gcc@11") { url "gcc-11.0" }
end
let(:installed_formula) { described_class.factory(formula_path) }

View File

@ -6,5 +6,12 @@ require_relative "shared_examples"
describe UnpackStrategy::Zstd do
let(:path) { TEST_FIXTURE_DIR/"cask/container.tar.zst" }
include_examples "UnpackStrategy::detect"
it "is correctly detected" do
# UnpackStrategy.detect(path) for a .tar.XXX file returns either UnpackStrategy::Tar if
# the host's tar is able to extract that compressed file or UnpackStrategy::XXX otherwise,
# such as UnpackStrategy::Zstd. On macOS UnpackStrategy.detect("container.tar.zst")
# returns UnpackStrategy::Zstd, and on ubuntu-22.04 it returns UnpackStrategy::Tar,
# because the host's version of tar is recent enough and zstd is installed.
expect(UnpackStrategy.detect(path)).to(be_a(described_class).or(be_a(UnpackStrategy::Tar)))
end
end