Add initial GitHub Actions CI
This commit is contained in:
parent
f768c59e15
commit
7bfcac9f0f
|
|
@ -0,0 +1,49 @@
|
||||||
|
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@v1
|
||||||
|
- id: generate-jobs
|
||||||
|
name: Generate Jobs
|
||||||
|
run: |
|
||||||
|
git clone --depth 1 https://github.com/docker-library/bashbrew.git -b master ~/bashbrew
|
||||||
|
strategy="$(~/bashbrew/scripts/github-actions/generate.sh)"
|
||||||
|
strategy="$(~/bashbrew/scripts/github-actions/munge-i386.sh -c <<<"$strategy")"
|
||||||
|
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@v1
|
||||||
|
- 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 }}
|
||||||
55
.travis.yml
55
.travis.yml
|
|
@ -1,55 +0,0 @@
|
||||||
language: bash
|
|
||||||
services: docker
|
|
||||||
|
|
||||||
env:
|
|
||||||
- VERSION=3.8-rc VARIANT=ubuntu
|
|
||||||
- VERSION=3.8-rc VARIANT=ubuntu ARCH=i386
|
|
||||||
- VERSION=3.8-rc VARIANT=alpine
|
|
||||||
- VERSION=3.8-rc VARIANT=alpine ARCH=i386
|
|
||||||
- VERSION=3.8 VARIANT=ubuntu
|
|
||||||
- VERSION=3.8 VARIANT=ubuntu ARCH=i386
|
|
||||||
- VERSION=3.8 VARIANT=alpine
|
|
||||||
- VERSION=3.8 VARIANT=alpine ARCH=i386
|
|
||||||
- VERSION=3.7-rc VARIANT=ubuntu
|
|
||||||
- VERSION=3.7-rc VARIANT=ubuntu ARCH=i386
|
|
||||||
- VERSION=3.7-rc VARIANT=alpine
|
|
||||||
- VERSION=3.7-rc VARIANT=alpine ARCH=i386
|
|
||||||
- VERSION=3.7 VARIANT=ubuntu
|
|
||||||
- VERSION=3.7 VARIANT=ubuntu ARCH=i386
|
|
||||||
- VERSION=3.7 VARIANT=alpine
|
|
||||||
- VERSION=3.7 VARIANT=alpine ARCH=i386
|
|
||||||
|
|
||||||
install:
|
|
||||||
- git clone https://github.com/docker-library/official-images.git ~/official-images
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- env | sort
|
|
||||||
- wget -qO- 'https://github.com/tianon/pgp-happy-eyeballs/raw/master/hack-my-builds.sh' | bash
|
|
||||||
- cd "$VERSION/$VARIANT"
|
|
||||||
- image="$(awk 'toupper($1) == "FROM" { print $2; exit }' management/Dockerfile)"
|
|
||||||
- |
|
|
||||||
(
|
|
||||||
set -Eeuo pipefail
|
|
||||||
set -x
|
|
||||||
if [ -n "${ARCH:-}" ]; then
|
|
||||||
from="$(awk '$1 == toupper("FROM") { print $2 }' Dockerfile)"
|
|
||||||
docker pull "$ARCH/$from"
|
|
||||||
docker tag "$ARCH/$from" "$from"
|
|
||||||
fi
|
|
||||||
)
|
|
||||||
|
|
||||||
script:
|
|
||||||
- |
|
|
||||||
(
|
|
||||||
set -Eeuo pipefail
|
|
||||||
set -x
|
|
||||||
docker build -t "$image" .
|
|
||||||
~/official-images/test/run.sh "$image"
|
|
||||||
docker build -t "${image}-management" management
|
|
||||||
~/official-images/test/run.sh "${image}-management"
|
|
||||||
)
|
|
||||||
|
|
||||||
after_script:
|
|
||||||
- docker images
|
|
||||||
|
|
||||||
# vim:set et ts=2 sw=2:
|
|
||||||
|
|
@ -14,12 +14,12 @@ For outstanding `rabbitmq` image PRs, check [PRs with the "library/rabbitmq" lab
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
- [](https://travis-ci.org/docker-library/rabbitmq/branches)
|
- [](https://github.com/docker-library/rabbitmq/actions?query=workflow%3A%22GitHub+CI%22+branch%3Amaster)
|
||||||
- [](https://doi-janky.infosiftr.net/job/update.sh/job/rabbitmq)
|
- [](https://doi-janky.infosiftr.net/job/update.sh/job/rabbitmq/)
|
||||||
|
|
||||||
| Build | Status | Badges | (per-arch) |
|
| Build | Status | Badges | (per-arch) |
|
||||||
|:-:|:-:|:-:|:-:|
|
|:-:|:-:|:-:|:-:|
|
||||||
| [](https://doi-janky.infosiftr.net/job/multiarch/job/amd64/job/rabbitmq) | [](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v6/job/rabbitmq) | [](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/rabbitmq) | [](https://doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/rabbitmq) |
|
| [](https://doi-janky.infosiftr.net/job/multiarch/job/amd64/job/rabbitmq/) | [](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v6/job/rabbitmq/) | [](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/rabbitmq/) | [](https://doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/rabbitmq/) |
|
||||||
| [](https://doi-janky.infosiftr.net/job/multiarch/job/i386/job/rabbitmq) | [](https://doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/rabbitmq) | [](https://doi-janky.infosiftr.net/job/multiarch/job/s390x/job/rabbitmq) | [](https://doi-janky.infosiftr.net/job/put-shared/job/light/job/rabbitmq) |
|
| [](https://doi-janky.infosiftr.net/job/multiarch/job/i386/job/rabbitmq/) | [](https://doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/rabbitmq/) | [](https://doi-janky.infosiftr.net/job/multiarch/job/s390x/job/rabbitmq/) | [](https://doi-janky.infosiftr.net/job/put-shared/job/light/job/rabbitmq/) |
|
||||||
|
|
||||||
<!-- THIS FILE IS GENERATED BY https://github.com/docker-library/docs/blob/master/generate-repo-stub-readme.sh -->
|
<!-- THIS FILE IS GENERATED BY https://github.com/docker-library/docs/blob/master/generate-repo-stub-readme.sh -->
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,6 @@ opensslPgpKeys=(
|
||||||
)
|
)
|
||||||
# TODO auto-generate / scrape this list from the canonical upstream source instead
|
# TODO auto-generate / scrape this list from the canonical upstream source instead
|
||||||
|
|
||||||
travisEnv=
|
|
||||||
for version in "${versions[@]}"; do
|
for version in "${versions[@]}"; do
|
||||||
rcVersion="${version%-rc}"
|
rcVersion="${version%-rc}"
|
||||||
rcGrepV='-v'
|
rcGrepV='-v'
|
||||||
|
|
@ -155,11 +154,5 @@ for version in "${versions[@]}"; do
|
||||||
-e "s!%%INSTALL_PYTHON%%!$installPython!g" \
|
-e "s!%%INSTALL_PYTHON%%!$installPython!g" \
|
||||||
Dockerfile-management.template \
|
Dockerfile-management.template \
|
||||||
> "$version/$variant/management/Dockerfile"
|
> "$version/$variant/management/Dockerfile"
|
||||||
|
|
||||||
travisEnv='\n - VERSION='"$version"' VARIANT='"$variant ARCH=i386$travisEnv"
|
|
||||||
travisEnv='\n - VERSION='"$version"' VARIANT='"$variant$travisEnv"
|
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
travis="$(awk -v 'RS=\n\n' '$1 == "env:" { $0 = "env:'"$travisEnv"'" } { printf "%s%s", $0, RS }' .travis.yml)"
|
|
||||||
echo "$travis" > .travis.yml
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue