add 'if' examples

This commit is contained in:
Earl Warren 2023-09-02 16:20:20 +02:00
parent 0d8bc04d72
commit aa61aec528
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
4 changed files with 69 additions and 0 deletions

View file

@ -0,0 +1,17 @@
#
# As of Forgejo v1.20 running this example would require using the web
# endpoints because there is no API to do the same.
#
# It was manually tested to **not work** with Forgejo v1.20 & runner 2.5.0
#
on: [push]
jobs:
test:
runs-on: docker
steps:
- run: sleep infinity
- if: cancelled()
run: echo IF TEST CANCELLED

View file

@ -0,0 +1,30 @@
on: [push]
jobs:
test:
runs-on: docker
steps:
- run: false
- if: failure()
run: echo IF TEST FAILURE
- if: always()
run: echo IF TEST ALWAYS
#
# This is documented in GitHub Actions and does not work in Forgejo Actions
# as of 3.0.0.
#
# If you have a chain of dependent jobs, failure() returns true if any ancestor job fails.
#
# first:
# runs-on: docker
# steps:
# - run: false
# second:
# runs-on: docker
# needs: [first]
# steps:
# - if: failure()
# run: echo IF TEST FAIL DEPENDS

View file

@ -0,0 +1,5 @@
#!/bin/bash
set -ex
grep --quiet 'IF TEST FAILURE' $FORGEJO_RUNNER_LOGS
grep --quiet 'IF TEST ALWAYS' $FORGEJO_RUNNER_LOGS

View file

@ -0,0 +1,17 @@
on: [push]
jobs:
basic:
runs-on: docker
steps:
- name: if true
if: true
id: if_true
run: echo 'check=good' >> $GITHUB_OUTPUT
- name: verify if true was run
run: test ${{ steps.if_true.outputs.check }} = good
- name: if false
if: false
run: false