mirror of
https://github.com/gosticks/brew.git
synced 2026-08-30 13:30:17 +00:00
This avoids weirdness like the merged PR commits being pushed to scheduled opened PRs after merging. It also avoids wasting resources.
64 lines
2.5 KiB
YAML
64 lines
2.5 KiB
YAML
name: Docker
|
|
on:
|
|
push:
|
|
paths:
|
|
- .github/workflows/docker.yml
|
|
- Dockerfile
|
|
branches-ignore:
|
|
- master
|
|
release:
|
|
types:
|
|
- published
|
|
jobs:
|
|
ubuntu:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
version: ["16.04", "18.04", "20.04"]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@main
|
|
with:
|
|
fetch-depth: 0
|
|
persist-credentials: false
|
|
- name: Fetch origin/master from Git
|
|
run: git fetch origin master
|
|
|
|
- name: Build Docker image
|
|
run: docker build -t brew --build-arg=version=${{matrix.version}} .
|
|
|
|
- name: Run brew test-bot --only-setup
|
|
run: docker run --rm brew brew test-bot --only-setup
|
|
|
|
- name: Deploy the tagged Docker image to GitHub
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
run: |
|
|
brew_version=${GITHUB_REF:10}
|
|
echo "::set-env name=brew_version::$brew_version"
|
|
docker login docker.pkg.github.com -u BrewTestBot -p ${{secrets.GITHUB_TOKEN}}
|
|
docker tag brew "docker.pkg.github.com/homebrew/brew/ubuntu${{matrix.version}}:$brew_version"
|
|
docker push "docker.pkg.github.com/homebrew/brew/ubuntu${{matrix.version}}:$brew_version"
|
|
docker tag brew "docker.pkg.github.com/homebrew/brew/ubuntu${{matrix.version}}:latest"
|
|
docker push "docker.pkg.github.com/homebrew/brew/ubuntu${{matrix.version}}:latest"
|
|
|
|
- name: Deploy the tagged Docker image to Docker Hub
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
run: |
|
|
docker login -u brewtestbot -p ${{secrets.DOCKER_TOKEN}}
|
|
docker tag brew "homebrew/ubuntu${{matrix.version}}:$brew_version"
|
|
docker push "homebrew/ubuntu${{matrix.version}}:$brew_version"
|
|
docker tag brew "homebrew/ubuntu${{matrix.version}}:latest"
|
|
docker push "homebrew/ubuntu${{matrix.version}}:latest"
|
|
|
|
- name: Deploy the homebrew/brew Docker image to GitHub and Docker Hub
|
|
if: startsWith(github.ref, 'refs/tags/') && matrix.version == '20.04'
|
|
run: |
|
|
docker tag brew "docker.pkg.github.com/homebrew/brew/brew:$brew_version"
|
|
docker push "docker.pkg.github.com/homebrew/brew/brew:$brew_version"
|
|
docker tag brew "docker.pkg.github.com/homebrew/brew/brew:latest"
|
|
docker push "docker.pkg.github.com/homebrew/brew/brew:latest"
|
|
docker tag brew "homebrew/brew:$brew_version"
|
|
docker push "homebrew/brew:$brew_version"
|
|
docker tag brew "homebrew/brew:latest"
|
|
docker push "homebrew/brew:latest"
|