mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 07:59:02 +08:00
Build Docker images for Ubuntu 18.04 and 20.04
This commit is contained in:
parent
3247f26a34
commit
5052f49f40
2
.dockerignore
Normal file
2
.dockerignore
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Library/Homebrew/vendor/portable-ruby
|
||||||
|
Library/Taps
|
31
.github/workflows/docker.yml
vendored
Normal file
31
.github/workflows/docker.yml
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
name: Docker
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- .github/workflows/docker.yml
|
||||||
|
- Dockerfile
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- published
|
||||||
|
jobs:
|
||||||
|
ubuntu:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
version: ["18.04", "20.04"]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: Build Docker image
|
||||||
|
run: docker build -t brew --build-arg=version=${{matrix.version}} .
|
||||||
|
- name: Run brew test-bot
|
||||||
|
run: docker run --rm brew brew test-bot
|
||||||
|
- name: Deploy the tagged Docker image to GitHub
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
run: |
|
||||||
|
docker login docker.pkg.github.com -u BrewTestBot -p ${{secrets.GITHUB_TOKEN}}
|
||||||
|
v=${GITHUB_REF:10}
|
||||||
|
docker tag brew "docker.pkg.github.com/homebrew/brew/ubuntu${{matrix.version}}:$v"
|
||||||
|
docker push "docker.pkg.github.com/homebrew/brew/ubuntu${{matrix.version}}:$v"
|
4
.github/workflows/tests.yml
vendored
4
.github/workflows/tests.yml
vendored
@ -187,14 +187,14 @@ jobs:
|
|||||||
brew test-bot
|
brew test-bot
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Deploy the latest Docker image
|
- name: Deploy the latest Docker image to GitHub
|
||||||
if: matrix.os == 'ubuntu-latest' && github.ref == 'refs/heads/master'
|
if: matrix.os == 'ubuntu-latest' && github.ref == 'refs/heads/master'
|
||||||
run: |
|
run: |
|
||||||
docker login docker.pkg.github.com -u BrewTestBot -p ${{secrets.GITHUB_TOKEN}}
|
docker login docker.pkg.github.com -u BrewTestBot -p ${{secrets.GITHUB_TOKEN}}
|
||||||
docker tag brew docker.pkg.github.com/homebrew/brew/brew
|
docker tag brew docker.pkg.github.com/homebrew/brew/brew
|
||||||
docker push docker.pkg.github.com/homebrew/brew/brew
|
docker push docker.pkg.github.com/homebrew/brew/brew
|
||||||
|
|
||||||
- name: Deploy the tagged Docker image
|
- name: Deploy the tagged Docker image to GitHub
|
||||||
if: matrix.os == 'ubuntu-latest' && startsWith(github.ref, 'refs/tags/')
|
if: matrix.os == 'ubuntu-latest' && startsWith(github.ref, 'refs/tags/')
|
||||||
run: |
|
run: |
|
||||||
docker login docker.pkg.github.com -u BrewTestBot -p ${{secrets.GITHUB_TOKEN}}
|
docker login docker.pkg.github.com -u BrewTestBot -p ${{secrets.GITHUB_TOKEN}}
|
||||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -151,6 +151,7 @@
|
|||||||
/docs/vendor
|
/docs/vendor
|
||||||
|
|
||||||
# Unignore our root-level metadata files.
|
# Unignore our root-level metadata files.
|
||||||
|
!/.dockerignore
|
||||||
!/.editorconfig
|
!/.editorconfig
|
||||||
!/.gitignore
|
!/.gitignore
|
||||||
!/.yardopts
|
!/.yardopts
|
||||||
|
37
Dockerfile
37
Dockerfile
@ -1,11 +1,9 @@
|
|||||||
FROM ubuntu:xenial
|
ARG version=16.04
|
||||||
LABEL maintainer="Shaun Jackman <sjackman@gmail.com>"
|
FROM ubuntu:$version
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
# hadolint ignore=DL3008
|
# hadolint ignore=DL3008
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends software-properties-common \
|
|
||||||
&& add-apt-repository -y ppa:git-core/ppa \
|
|
||||||
&& apt-get update \
|
|
||||||
&& apt-get install -y --no-install-recommends \
|
&& apt-get install -y --no-install-recommends \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
@ -14,6 +12,7 @@ RUN apt-get update \
|
|||||||
fonts-dejavu-core \
|
fonts-dejavu-core \
|
||||||
g++ \
|
g++ \
|
||||||
git \
|
git \
|
||||||
|
less \
|
||||||
libz-dev \
|
libz-dev \
|
||||||
locales \
|
locales \
|
||||||
make \
|
make \
|
||||||
@ -23,29 +22,23 @@ RUN apt-get update \
|
|||||||
sudo \
|
sudo \
|
||||||
uuid-runtime \
|
uuid-runtime \
|
||||||
tzdata \
|
tzdata \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& localedef -i en_US -f UTF-8 en_US.UTF-8 \
|
||||||
RUN localedef -i en_US -f UTF-8 en_US.UTF-8 \
|
|
||||||
&& useradd -m -s /bin/bash linuxbrew \
|
&& useradd -m -s /bin/bash linuxbrew \
|
||||||
&& echo 'linuxbrew ALL=(ALL) NOPASSWD:ALL' >>/etc/sudoers
|
&& echo 'linuxbrew ALL=(ALL) NOPASSWD:ALL' >>/etc/sudoers
|
||||||
|
|
||||||
COPY . /home/linuxbrew/.linuxbrew/Homebrew
|
COPY . /home/linuxbrew/.linuxbrew/Homebrew
|
||||||
ARG FORCE_REBUILD
|
ENV PATH=/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:$PATH
|
||||||
|
WORKDIR /home/linuxbrew
|
||||||
|
|
||||||
# hadolint ignore=DL3003
|
# hadolint ignore=DL3003
|
||||||
RUN cd /home/linuxbrew/.linuxbrew \
|
RUN cd /home/linuxbrew/.linuxbrew \
|
||||||
&& mkdir -p bin etc include lib opt sbin share var/homebrew/linked Cellar \
|
&& mkdir -p bin etc include lib opt sbin share var/homebrew/linked Cellar \
|
||||||
&& ln -s ../Homebrew/bin/brew /home/linuxbrew/.linuxbrew/bin/ \
|
&& ln -s ../Homebrew/bin/brew /home/linuxbrew/.linuxbrew/bin/ \
|
||||||
&& cd /home/linuxbrew/.linuxbrew/Homebrew \
|
&& git -C /home/linuxbrew/.linuxbrew/Homebrew remote set-url origin https://github.com/Homebrew/brew \
|
||||||
&& git remote set-url origin https://github.com/Homebrew/brew
|
&& HOMEBREW_NO_ANALYTICS=1 HOMEBREW_NO_AUTO_UPDATE=1 brew tap homebrew/core \
|
||||||
|
|
||||||
WORKDIR /home/linuxbrew
|
|
||||||
ENV PATH=/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:$PATH \
|
|
||||||
SHELL=/bin/bash
|
|
||||||
|
|
||||||
# Install portable-ruby, tap homebrew/core, install audit gems, and cleanup
|
|
||||||
RUN HOMEBREW_NO_ANALYTICS=1 HOMEBREW_NO_AUTO_UPDATE=1 brew tap homebrew/core \
|
|
||||||
&& chown -R linuxbrew: /home/linuxbrew/.linuxbrew \
|
|
||||||
&& chmod -R g+w,o-w /home/linuxbrew/.linuxbrew \
|
|
||||||
&& rm -rf ~/.cache \
|
|
||||||
&& brew install-bundler-gems \
|
&& brew install-bundler-gems \
|
||||||
&& brew cleanup
|
&& brew cleanup \
|
||||||
|
&& rm -rf ~/.cache \
|
||||||
|
&& chown -R linuxbrew: /home/linuxbrew/.linuxbrew \
|
||||||
|
&& chmod -R g+w,o-w /home/linuxbrew/.linuxbrew
|
||||||
|
Loading…
x
Reference in New Issue
Block a user