example docker compose file and test
This commit is contained in:
parent
a6bb88d7c1
commit
deefb19f21
4 changed files with 228 additions and 17 deletions
52
.forgejo/workflows/example-docker-compose.yml
Normal file
52
.forgejo/workflows/example-docker-compose.yml
Normal file
|
@ -0,0 +1,52 @@
|
|||
# SPDX-License-Identifier: MIT
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
example-docker-compose:
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install docker
|
||||
run: |
|
||||
apt-get update -qq
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get install -qq -y ca-certificates curl gnupg
|
||||
install -m 0755 -d /etc/apt/keyrings
|
||||
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
apt-get update -qq
|
||||
apt-get install -qq -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin=2.20.2-1~debian.11~bullseye
|
||||
docker version
|
||||
#
|
||||
# docker compose is prone to non backward compatible changes, pin it
|
||||
#
|
||||
apt-get install -qq -y docker-compose-plugin=2.20.2-1~debian.11~bullseye
|
||||
docker compose version
|
||||
|
||||
- name: run the example
|
||||
run: |
|
||||
set -x
|
||||
cd examples/docker-compose
|
||||
cli="docker compose -f compose-forgejo-and-runner.yml -f compose-demo-workflow.yml"
|
||||
#
|
||||
# Launch
|
||||
#
|
||||
$cli up -d
|
||||
#
|
||||
# Wait for the demo workflow to complete
|
||||
#
|
||||
$cli ps --help
|
||||
success='DEMO WORKFLOW SUCCESS'
|
||||
for delay in $(seq 60) ; do
|
||||
$cli logs -n 10 demo-workflow > /tmp/out
|
||||
grep --quiet "$success" /tmp/out && break
|
||||
$cli ps --all
|
||||
cat /tmp/out
|
||||
sleep 10
|
||||
done
|
||||
if ! grep --quiet "$success" /tmp/out ; then
|
||||
echo ==========================================
|
||||
$cli logs
|
||||
exit 1
|
||||
fi
|
Loading…
Add table
Add a link
Reference in a new issue