Skip to content

Build Active Branches #21024

Build Active Branches

Build Active Branches #21024

name: Build Active Branches
on:
schedule:
- cron: "0 * * * *"
workflow_dispatch:
jobs:
fetch-branches:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.fetch-refs.outputs.matrix }}
empty_matrix: ${{ steps.check-matrix.outputs.empty_matrix }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
repository: flutter/flutter
path: flutter
- run: for remote in `git -C flutter branch -r`; do git -C flutter branch --track ${remote#origin/} $remote | true; done
- id: fetch-refs
run: |
matrix=$(git -C flutter for-each-ref --sort=-committerdate refs/heads/ | sed 's/^.*commit.\(.*\)/"\1"/g' | jq -sc 'map(sub("refs/heads/"; "")) | .[:20] | {channel: . , include: map({channel: . , tags: [ if . == "stable" then ., "latest" else . end ]})}')
echo "::set-output name=matrix::$matrix"
- name: Check matrix
id: check-matrix
run: |
echo "::set-output name=empty_matrix::$(echo '${{ steps.fetch-refs.outputs.matrix }}' | jq '.channel | length > 0 | not')"
build-branches:
needs: fetch-branches
runs-on: ubuntu-latest
if: ${{ needs.fetch-branches.outputs.empty_matrix == 'false' }}
strategy:
matrix: ${{fromJson(needs.fetch-branches.outputs.matrix)}}
fail-fast: false
steps:
- uses: actions/checkout@v3
- name: setup buildx
uses: docker/setup-buildx-action@v3.0.0
with:
install: true
- name: Login to Docker Hub
uses: docker/login-action@v3.0.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push image
run: |
docker build \
-t fischerscode/flutter:$(echo ${{ join(matrix.tags, ' | tr + _) -t fischerscode/flutter:$(echo ') }} | tr + _) \
--build-arg=flutterVersion=${{ matrix.channel }} \
--cache-from=type=registry,ref=fischerscode/flutter-cache:$(echo ${{ matrix.channel }} | tr + _) \
--cache-to=type=registry,ref=fischerscode/flutter-cache:$(echo ${{ matrix.channel }} | tr + _),mode=max \
--push \
--platform linux/amd64,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x \
.
- name: Build and push sudo image
run: |
docker build \
-t fischerscode/flutter-sudo:$(echo ${{ join(matrix.tags, ' | tr + _) -t fischerscode/flutter-sudo:$(echo ') }} | tr + _) \
--build-arg=flutterVersion=${{ matrix.channel }} \
--push \
--platform linux/amd64,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x \
-f Dockerfile.sudo \
.
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy