1# Copyright 2024 The Forgejo Authors.2# SPDX-License-Identifier: MIT34services:56 demo-workflow:7 image: code.forgejo.org/oci/alpine:3.198 links:9 - forgejo10 command: >-11 sh -ec '12 apk add --quiet git curl jq ;13 mkdir -p /srv/demo ;14 cd /srv/demo ;15 git init --initial-branch=main ;16 mkdir -p .forgejo/workflows ;17 echo "{ on: [push], jobs: { test: { runs-on: docker, steps: [ {uses: actions/checkout@v4}, { run: echo All Good } ] } } }" > .forgejo/workflows/demo.yml ;18 echo "{ on: [push], jobs: { test_docker: { runs-on: ubuntu-22.04, steps: [ { run: docker info } ] } } }" > .forgejo/workflows/demo_docker.yml ;19 git add . ;20 git config user.email root@example.com ;21 git config user.name username ;22 git commit -m demo ;23 while : ; do24 git push --set-upstream --force http://root:{ROOT_PASSWORD}@forgejo:3000/root/test main && break ;25 sleep 5 ;26 done ;27 sha=`git rev-parse HEAD` ;28 for delay in 1 1 1 1 2 5 5 10 10 10 15 30 30 30 30 30 30 30 ; do29 curl -sS -f http://forgejo:3000/api/v1/repos/root/test/commits/$$sha/status | jq --raw-output .state | tee status ;30 if grep success status ; then echo DEMO WORKFLOW SUCCESS && break ; fi ;31 if grep failure status ; then echo DEMO WORKFLOW FAILURE && break ; fi ;32 sleep $$delay ;33 done ;34 grep success status || echo DEMO WORKFLOW FAILURE35 '