From 921ed6f48186348771c28802efcf2caba4034e9c Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Sun, 7 Jan 2024 23:49:28 +0100 Subject: [PATCH] actions: update the documentation with context examples --- .forgejo/workflows/actions.yml | 36 ++++++++++++++++++- .../.forgejo/workflows/test.yml | 6 ++-- actions/example-pull-request/assert-token.sh | 11 +++--- actions/example-pull-request/run.sh | 2 +- actions/run.sh | 11 ++++++ 5 files changed, 57 insertions(+), 9 deletions(-) diff --git a/.forgejo/workflows/actions.yml b/.forgejo/workflows/actions.yml index 70625a3..c02a967 100644 --- a/.forgejo/workflows/actions.yml +++ b/.forgejo/workflows/actions.yml @@ -1,3 +1,15 @@ +# +# +# https://code.forgejo.org/forgejo/end-to-end/settings/actions +# +# secrets.CASCADE_DOCS_ORIGIN_TOKEN +# https://code.forgejo.org/forgejo-ci scope write:issue, read:repository, read:user +# vars.CASCADE_DOCS_DESTINATION_DOER +# forgejo-cascading-pr (https://codeberg.org/forgejo-cascading-pr) +# secrets.CASCADE_DOCS_DESTINATION_TOKEN +# https://codeberg.org/forgejo-cascading-pr scope write:issue, write:repository, read:user +# + on: pull_request: push: @@ -11,6 +23,7 @@ jobs: matrix: info: - version: v1.22 + branch: next forgejo: https://codeberg.org repo: forgejo-experimental/forgejo tests: ${{ vars.V1_22_TESTS }} @@ -29,7 +42,9 @@ jobs: with: install-only: true - - if: matrix.info.tests != 'none' + - name: run + id: run + if: matrix.info.tests != 'none' shell: bash run: | set -x @@ -41,3 +56,22 @@ jobs: chown forgejo $DIR /srv su -c "actions/run.sh $binary $full_version ${{ matrix.info.version }} ${{ matrix.info.tests }}" forgejo + + echo full_version="$full_version" >> $GITHUB_OUTPUT + + - name: update documentation + if: matrix.info.version == 'v1.21' && matrix.info.tests != 'none' && github.ref == 'refs/heads/main' + uses: https://code.forgejo.org/actions/cascading-pr@v1 + with: + origin-url: ${{ env.GITHUB_SERVER_URL }} + origin-repo: ${{ github.repository }} + origin-token: ${{ secrets.CASCADE_DOCS_ORIGIN_TOKEN }} + origin-ref: refs/heads/main + destination-url: https://codeberg.org + destination-fork-repo: ${{ vars.CASCADE_DOCS_DESTINATION_DOER }}/docs + destination-repo: forgejo/docs + destination-branch: ${{ matrix.info.branch || matrix.info.version }} + destination-token: ${{ secrets.CASCADE_DOCS_DESTINATION_TOKEN }} + update: .forgejo/cascading-docs + env: + VERSION: "${{ steps.run.outputs.full_version }}" diff --git a/actions/example-pull-request/.forgejo/workflows/test.yml b/actions/example-pull-request/.forgejo/workflows/test.yml index c9a4cdf..772a38f 100644 --- a/actions/example-pull-request/.forgejo/workflows/test.yml +++ b/actions/example-pull-request/.forgejo/workflows/test.yml @@ -133,10 +133,10 @@ jobs: - name: save event run: | - d=/srv/example/pull-request/${{ github.event.pull_request.head.repo.owner.username }}/$GITHUB_EVENT_NAME/${{ github.event.action }} + d=/srv/example/pull-request/contexts/${{ github.event.pull_request.head.repo.owner.username }}/$GITHUB_EVENT_NAME mkdir -p $d - cat > $d/event <<'EOF' - ${{ toJSON(github.event) }} + cat > $d/github <<'EOF' + ${{ toJSON(github) }} EOF - uses: https://code.forgejo.org/actions/checkout@v4 diff --git a/actions/example-pull-request/assert-token.sh b/actions/example-pull-request/assert-token.sh index daa47d3..57f0257 100755 --- a/actions/example-pull-request/assert-token.sh +++ b/actions/example-pull-request/assert-token.sh @@ -2,7 +2,10 @@ set -ex -test -d $d/fork-org/pull_request/opened -test -d $d/fork-org/pull_request_target/opened -test -d $d/root/pull_request/opened -test -d $d/root/pull_request_target/opened +c=$d/contexts + +test opened = "$(jq -r .event.action < $c/fork-org/pull_request/github)" +test opened = "$(jq -r .event.action < $c/fork-org/pull_request_target/github)" + +test opened = "$(jq -r .event.action < $c/root/pull_request/github)" +test opened = "$(jq -r .event.action < $c/root/pull_request_target/github)" diff --git a/actions/example-pull-request/run.sh b/actions/example-pull-request/run.sh index b6897a2..5ae0baa 100755 --- a/actions/example-pull-request/run.sh +++ b/actions/example-pull-request/run.sh @@ -48,7 +48,7 @@ function setup() { for assert in $EXAMPLE_DIR/assert-*.sh ; do if ! forgejo.sh retry $assert ; then find $d - cat $FORGEJO_RUNNER_LOGS + sed -e 's/^/[RUNNER LOGS]/' < $FORGEJO_RUNNER_LOGS false fi done diff --git a/actions/run.sh b/actions/run.sh index 4a1b8df..60c6eed 100755 --- a/actions/run.sh +++ b/actions/run.sh @@ -1,6 +1,7 @@ #!/bin/bash set -e +set -o pipefail SELF_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -41,6 +42,15 @@ function examples_v1_22() { examples_v1_21 } +function save_contexts() { + local example="$1" + + if test -d /srv/example/$example/contexts; then + mkdir -p /srv/contexts + rsync -av /srv/example/$example/contexts/ /srv/contexts/$example/ + fi +} + function cleanup_example_volume() { if ! test -d /srv/example ; then mkdir -p /srv/example @@ -109,6 +119,7 @@ function main() { false fi echo "======================== END example-$example ===================" + save_contexts $example cleanup_example_volume done }