Add initial GitHub Actions CI
This commit is contained in:
parent
a7a2b1dc02
commit
d195e73200
52
.github/workflows/ci.yml
vendored
Normal file
52
.github/workflows/ci.yml
vendored
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
name: GitHub CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
schedule:
|
||||||
|
- cron: 0 0 * * 0
|
||||||
|
|
||||||
|
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: actions/checkout@v2
|
||||||
|
- id: generate-jobs
|
||||||
|
name: Generate Jobs
|
||||||
|
run: |
|
||||||
|
export BASHBREW_NAMESPACE='tianon'
|
||||||
|
image="${GITHUB_REPOSITORY##*/}"
|
||||||
|
image="${image#docker-}"
|
||||||
|
export GITHUB_REPOSITORY="$image"
|
||||||
|
git clone --depth 1 https://github.com/docker-library/bashbrew.git -b master ~/bashbrew
|
||||||
|
strategy="$(~/bashbrew/scripts/github-actions/generate.sh)"
|
||||||
|
jq . <<<"$strategy" # sanity check / debugging aid
|
||||||
|
echo "::set-output name=strategy::$strategy"
|
||||||
|
|
||||||
|
test:
|
||||||
|
needs: generate-jobs
|
||||||
|
strategy: ${{ fromJson(needs.generate-jobs.outputs.strategy) }}
|
||||||
|
name: ${{ matrix.name }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- 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 }}
|
Loading…
Reference in New Issue
Block a user