blob: 3b0b215700c6737200fd1cb675727606984c0372 [file] [edit]
name: Dart Docker Image CI
on:
push:
branches: [main]
pull_request:
branches: [main]
schedule:
- cron: 0 0 * * 0
env:
GENERATE_STACKBREW_LIBRARY: scripts/bin/generate_library.dart
defaults:
run:
shell: "bash -Eeuo pipefail -x {0}"
jobs:
generate-jobs:
name: Generate Jobs
runs-on: ubuntu-latest
outputs:
strategy: ${{ steps.generate-jobs.outputs.strategy }}
steps:
- uses: dart-lang/setup-dart@65eb853c7ba17dde3be364c3d2858773e7144260
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- id: install
name: Install dependencies
run: dart pub get
working-directory: scripts
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
with:
path: bashbrew
ref: v0.1.13
repository: docker-library/bashbrew
- id: generate-jobs
name: Generate Jobs
run: |
sed -i 's/image\=.*/image\=dart/' bashbrew/scripts/github-actions/generate.sh
strategy="$(bashbrew/scripts/github-actions/generate.sh)"
jq . <<<"$strategy" # sanity check / debugging aid
echo "strategy=$strategy" >> $GITHUB_OUTPUT
test:
needs: generate-jobs
strategy: ${{ fromJson(needs.generate-jobs.outputs.strategy) }}
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Prepare Environment
run: ${{ matrix.runs.prepare }}
- name: Pull Dependencies
run: ${{ matrix.runs.pull }}
- name: Build ${{ matrix.name }}
run: ${{ matrix.runs.build }}
- name: History ${{ matrix.name }}
run: ${{ matrix.runs.history }}
- name: Test ${{ matrix.name }}
run: ${{ matrix.runs.test }}
- name: '"docker images"'
run: ${{ matrix.runs.images }}