chore: add assertions for the forge context and use it instead of github where relevant (#748)

Refs forgejo/act#37

Reviewed-on: https://code.forgejo.org/forgejo/end-to-end/pulls/748
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
This commit is contained in:
Earl Warren 2025-07-06 12:15:38 +00:00 committed by earl-warren
parent 07b9318ff7
commit cd1a0f5076
No known key found for this signature in database
GPG key ID: F128CBE6AB3A7201
5 changed files with 27 additions and 8 deletions

View file

@ -108,7 +108,7 @@ jobs:
actions-docs: actions-docs:
needs: [build] needs: [build]
runs-on: lxc-bookworm runs-on: lxc-bookworm
if: github.ref == 'refs/heads/main' if: forge.ref == 'refs/heads/main'
strategy: strategy:
matrix: matrix:
info: info:
@ -135,7 +135,7 @@ jobs:
uses: https://data.forgejo.org/actions/cascading-pr@v2.1 uses: https://data.forgejo.org/actions/cascading-pr@v2.1
with: with:
origin-url: ${{ env.GITHUB_SERVER_URL }} origin-url: ${{ env.GITHUB_SERVER_URL }}
origin-repo: ${{ github.repository }} origin-repo: ${{ forge.repository }}
origin-token: ${{ secrets.CASCADE_DOCS_ORIGIN_TOKEN }} origin-token: ${{ secrets.CASCADE_DOCS_ORIGIN_TOKEN }}
origin-ref: refs/heads/main origin-ref: refs/heads/main
destination-url: https://codeberg.org destination-url: https://codeberg.org

View file

@ -21,6 +21,7 @@ jobs:
echo "$GITHUB_ACTION" | grep -E '^[0-9]+$' echo "$GITHUB_ACTION" | grep -E '^[0-9]+$'
test "$GITHUB_ACTION" = "${{ env.GITHUB_ACTION }}" test "$GITHUB_ACTION" = "${{ env.GITHUB_ACTION }}"
test "$GITHUB_ACTION" = "${{ github.ACTION }}" test "$GITHUB_ACTION" = "${{ github.ACTION }}"
test "$GITHUB_ACTION" = "${{ forge.ACTION }}"
# See also actions/example-local-action/.forgejo/local-action/action.yml # See also actions/example-local-action/.forgejo/local-action/action.yml
- name: GITHUB_ACTION_PATH - name: GITHUB_ACTION_PATH
@ -29,6 +30,7 @@ jobs:
test -z "$GITHUB_ACTION_PATH" test -z "$GITHUB_ACTION_PATH"
test "$GITHUB_ACTION_PATH" = "${{ env.GITHUB_ACTION_PATH }}" test "$GITHUB_ACTION_PATH" = "${{ env.GITHUB_ACTION_PATH }}"
test "$GITHUB_ACTION_PATH" = "${{ github.ACTION_PATH }}" test "$GITHUB_ACTION_PATH" = "${{ github.ACTION_PATH }}"
test "$GITHUB_ACTION_PATH" = "${{ forge.ACTION_PATH }}"
- name: when running an action - name: when running an action
if: ${{ env.GITHUB_ACTIONS }} if: ${{ env.GITHUB_ACTIONS }}
@ -54,6 +56,7 @@ jobs:
test "$GITHUB_ACTOR" test "$GITHUB_ACTOR"
test "$GITHUB_ACTOR" = "${{ env.GITHUB_ACTOR }}" test "$GITHUB_ACTOR" = "${{ env.GITHUB_ACTOR }}"
test "$GITHUB_ACTOR" = "${{ github.ACTOR }}" test "$GITHUB_ACTOR" = "${{ github.ACTOR }}"
test "$GITHUB_ACTOR" = "${{ forge.ACTOR }}"
- name: GITHUB_API_URL - name: GITHUB_API_URL
shell: bash shell: bash
@ -62,6 +65,7 @@ jobs:
[[ "$GITHUB_API_URL" =~ /api/v1$ ]] [[ "$GITHUB_API_URL" =~ /api/v1$ ]]
test "$GITHUB_API_URL" = "${{ env.GITHUB_API_URL }}" test "$GITHUB_API_URL" = "${{ env.GITHUB_API_URL }}"
test "$GITHUB_API_URL" = "${{ github.API_URL }}" test "$GITHUB_API_URL" = "${{ github.API_URL }}"
test "$GITHUB_API_URL" = "${{ forge.API_URL }}"
# See also actions/example-pull-request/.forgejo/workflows/test.yml # See also actions/example-pull-request/.forgejo/workflows/test.yml
- name: GITHUB_BASE_REF - name: GITHUB_BASE_REF
@ -70,6 +74,7 @@ jobs:
test -z "$GITHUB_BASE_REF" test -z "$GITHUB_BASE_REF"
test "$GITHUB_BASE_REF" = "${{ env.GITHUB_BASE_REF }}" test "$GITHUB_BASE_REF" = "${{ env.GITHUB_BASE_REF }}"
test "$GITHUB_BASE_REF" = "${{ github.BASE_REF }}" test "$GITHUB_BASE_REF" = "${{ github.BASE_REF }}"
test "$GITHUB_BASE_REF" = "${{ forge.BASE_REF }}"
# See also actions/example-pull-request/.forgejo/workflows/test.yml # See also actions/example-pull-request/.forgejo/workflows/test.yml
- name: GITHUB_HEAD_REF - name: GITHUB_HEAD_REF
@ -78,6 +83,7 @@ jobs:
test -z "$GITHUB_HEAD_REF" test -z "$GITHUB_HEAD_REF"
test "$GITHUB_HEAD_REF" = "${{ env.GITHUB_HEAD_REF }}" test "$GITHUB_HEAD_REF" = "${{ env.GITHUB_HEAD_REF }}"
test "$GITHUB_HEAD_REF" = "${{ github.HEAD_REF }}" test "$GITHUB_HEAD_REF" = "${{ github.HEAD_REF }}"
test "$GITHUB_HEAD_REF" = "${{ forge.HEAD_REF }}"
- name: GITHUB_ENV - name: GITHUB_ENV
run: | run: |
@ -91,6 +97,7 @@ jobs:
test "$GITHUB_EVENT_NAME" = push test "$GITHUB_EVENT_NAME" = push
test "$GITHUB_EVENT_NAME" = "${{ env.GITHUB_EVENT_NAME }}" test "$GITHUB_EVENT_NAME" = "${{ env.GITHUB_EVENT_NAME }}"
test "$GITHUB_EVENT_NAME" = "${{ github.EVENT_NAME }}" test "$GITHUB_EVENT_NAME" = "${{ github.EVENT_NAME }}"
test "$GITHUB_EVENT_NAME" = "${{ forge.EVENT_NAME }}"
- name: GITHUB_JOB - name: GITHUB_JOB
run: | run: |
@ -98,6 +105,7 @@ jobs:
test "$GITHUB_JOB" = test test "$GITHUB_JOB" = test
test "$GITHUB_JOB" = "${{ env.GITHUB_JOB }}" test "$GITHUB_JOB" = "${{ env.GITHUB_JOB }}"
test "$GITHUB_JOB" = "${{ github.JOB }}" test "$GITHUB_JOB" = "${{ github.JOB }}"
test "$GITHUB_JOB" = "${{ forge.JOB }}"
- name: GITHUB_OUTPUT - name: GITHUB_OUTPUT
run: | run: |
@ -118,6 +126,7 @@ jobs:
[[ "$GITHUB_REF" =~ ^refs/ ]] [[ "$GITHUB_REF" =~ ^refs/ ]]
test "$GITHUB_REF" = "${{ env.GITHUB_REF }}" test "$GITHUB_REF" = "${{ env.GITHUB_REF }}"
test "$GITHUB_REF" = "${{ github.REF }}" test "$GITHUB_REF" = "${{ github.REF }}"
test "$GITHUB_REF" = "${{ forge.REF }}"
- name: GITHUB_REF_NAME - name: GITHUB_REF_NAME
shell: bash shell: bash
@ -126,6 +135,7 @@ jobs:
! [[ "$GITHUB_REF_NAME" =~ ^refs/ ]] ! [[ "$GITHUB_REF_NAME" =~ ^refs/ ]]
test "$GITHUB_REF_NAME" = "${{ env.GITHUB_REF_NAME }}" test "$GITHUB_REF_NAME" = "${{ env.GITHUB_REF_NAME }}"
test "$GITHUB_REF_NAME" = "${{ github.REF_NAME }}" test "$GITHUB_REF_NAME" = "${{ github.REF_NAME }}"
test "$GITHUB_REF_NAME" = "${{ forge.REF_NAME }}"
- name: GITHUB_REPOSITORY - name: GITHUB_REPOSITORY
run: | run: |
@ -133,6 +143,7 @@ jobs:
test "$GITHUB_REPOSITORY" = root/example-context test "$GITHUB_REPOSITORY" = root/example-context
test "$GITHUB_REPOSITORY" = "${{ env.GITHUB_REPOSITORY }}" test "$GITHUB_REPOSITORY" = "${{ env.GITHUB_REPOSITORY }}"
test "$GITHUB_REPOSITORY" = "${{ github.REPOSITORY }}" test "$GITHUB_REPOSITORY" = "${{ github.REPOSITORY }}"
test "$GITHUB_REPOSITORY" = "${{ forge.REPOSITORY }}"
- name: GITHUB_REPOSITORY_OWNER - name: GITHUB_REPOSITORY_OWNER
run: | run: |
@ -140,6 +151,7 @@ jobs:
test "$GITHUB_REPOSITORY_OWNER" = root test "$GITHUB_REPOSITORY_OWNER" = root
test "$GITHUB_REPOSITORY_OWNER" = "${{ env.GITHUB_REPOSITORY_OWNER }}" test "$GITHUB_REPOSITORY_OWNER" = "${{ env.GITHUB_REPOSITORY_OWNER }}"
test "$GITHUB_REPOSITORY_OWNER" = "${{ github.REPOSITORY_OWNER }}" test "$GITHUB_REPOSITORY_OWNER" = "${{ github.REPOSITORY_OWNER }}"
test "$GITHUB_REPOSITORY_OWNER" = "${{ forge.REPOSITORY_OWNER }}"
- name: GITHUB_RUN_NUMBER - name: GITHUB_RUN_NUMBER
run: | run: |
@ -147,6 +159,7 @@ jobs:
echo "$GITHUB_RUN_NUMBER" | grep -E '^[0-9]+$' echo "$GITHUB_RUN_NUMBER" | grep -E '^[0-9]+$'
test "$GITHUB_RUN_NUMBER" = "${{ env.GITHUB_RUN_NUMBER }}" test "$GITHUB_RUN_NUMBER" = "${{ env.GITHUB_RUN_NUMBER }}"
test "$GITHUB_RUN_NUMBER" = "${{ github.RUN_NUMBER }}" test "$GITHUB_RUN_NUMBER" = "${{ github.RUN_NUMBER }}"
test "$GITHUB_RUN_NUMBER" = "${{ forge.RUN_NUMBER }}"
- name: GITHUB_SERVER_URL - name: GITHUB_SERVER_URL
shell: bash shell: bash
@ -155,6 +168,7 @@ jobs:
[[ "$GITHUB_SERVER_URL" =~ ^http ]] [[ "$GITHUB_SERVER_URL" =~ ^http ]]
test "$GITHUB_SERVER_URL" = "${{ env.GITHUB_SERVER_URL }}" test "$GITHUB_SERVER_URL" = "${{ env.GITHUB_SERVER_URL }}"
test "$GITHUB_SERVER_URL" = "${{ github.SERVER_URL }}" test "$GITHUB_SERVER_URL" = "${{ github.SERVER_URL }}"
test "$GITHUB_SERVER_URL" = "${{ forge.SERVER_URL }}"
- name: GITHUB_SHA - name: GITHUB_SHA
run: | run: |
@ -162,6 +176,7 @@ jobs:
test "$GITHUB_SHA" test "$GITHUB_SHA"
test "$GITHUB_SHA" = "${{ env.GITHUB_SHA }}" test "$GITHUB_SHA" = "${{ env.GITHUB_SHA }}"
test "$GITHUB_SHA" = "${{ github.SHA }}" test "$GITHUB_SHA" = "${{ github.SHA }}"
test "$GITHUB_SHA" = "${{ forge.SHA }}"
- name: GITHUB_STEP_SUMMARY - name: GITHUB_STEP_SUMMARY
run: | run: |
@ -176,6 +191,7 @@ jobs:
test "$GITHUB_TOKEN" test "$GITHUB_TOKEN"
test "$GITHUB_TOKEN" = "${{ env.GITHUB_TOKEN }}" test "$GITHUB_TOKEN" = "${{ env.GITHUB_TOKEN }}"
test "$GITHUB_TOKEN" = "${{ github.TOKEN }}" test "$GITHUB_TOKEN" = "${{ github.TOKEN }}"
test "$GITHUB_TOKEN" = "${{ forge.TOKEN }}"
- name: GITHUB_WORKSPACE - name: GITHUB_WORKSPACE
run: | run: |
@ -183,6 +199,7 @@ jobs:
test -d "$GITHUB_WORKSPACE" test -d "$GITHUB_WORKSPACE"
test "$GITHUB_WORKSPACE" = "${{ env.GITHUB_WORKSPACE }}" test "$GITHUB_WORKSPACE" = "${{ env.GITHUB_WORKSPACE }}"
test "$GITHUB_WORKSPACE" = "${{ github.WORKSPACE }}" test "$GITHUB_WORKSPACE" = "${{ github.WORKSPACE }}"
test "$GITHUB_WORKSPACE" = "${{ forge.WORKSPACE }}"
- name: RUNNER_ARCH - name: RUNNER_ARCH
run: | run: |

View file

@ -12,6 +12,7 @@ runs:
test "$GITHUB_ACTION_REPOSITORY" = root/action-for-context test "$GITHUB_ACTION_REPOSITORY" = root/action-for-context
test "$GITHUB_ACTION_REPOSITORY" = "${{ env.GITHUB_ACTION_REPOSITORY }}" test "$GITHUB_ACTION_REPOSITORY" = "${{ env.GITHUB_ACTION_REPOSITORY }}"
test "$GITHUB_ACTION_REPOSITORY" = "${{ github.ACTION_REPOSITORY }}" test "$GITHUB_ACTION_REPOSITORY" = "${{ github.ACTION_REPOSITORY }}"
test "$GITHUB_ACTION_REPOSITORY" = "${{ forge.ACTION_REPOSITORY }}"
touch /srv/example/example-context/GITHUB_ACTION_REPOSITORY touch /srv/example/example-context/GITHUB_ACTION_REPOSITORY
- name: GITHUB_ACTION_PATH - name: GITHUB_ACTION_PATH
@ -20,4 +21,5 @@ runs:
set -x set -x
[[ "$GITHUB_ACTION_PATH" =~ action-for-context@main$ ]] [[ "$GITHUB_ACTION_PATH" =~ action-for-context@main$ ]]
test "$GITHUB_ACTION_PATH" = "${{ github.ACTION_PATH }}" test "$GITHUB_ACTION_PATH" = "${{ github.ACTION_PATH }}"
test "$GITHUB_ACTION_PATH" = "${{ forge.ACTION_PATH }}"
touch /srv/example/example-context/GITHUB_ACTION_PATH touch /srv/example/example-context/GITHUB_ACTION_PATH

View file

@ -9,11 +9,11 @@ jobs:
# #
- uses: https://data.forgejo.org/forgejo/test-setup-forgejo-docker@main - uses: https://data.forgejo.org/forgejo/test-setup-forgejo-docker@main
with: with:
args: ${{ github.workspace }}/SOMEFILE args: ${{ forge.workspace }}/SOMEFILE
# #
# ... which then also exists in the job workspace # ... which then also exists in the job workspace
# because both docker containers are automatically # because both docker containers are automatically
# sharing the volume that contains it. # sharing the volume that contains it.
# #
- run: | - run: |
test -f ${{ github.workspace }}/SOMEFILE test -f ${{ forge.workspace }}/SOMEFILE

View file

@ -18,7 +18,7 @@ jobs:
run: | run: |
set -x set -x
test $GITHUB_TOKEN = ${{ env.GITHUB_TOKEN }} test $GITHUB_TOKEN = ${{ env.GITHUB_TOKEN }}
test $GITHUB_TOKEN = ${{ github.token }} test $GITHUB_TOKEN = ${{ forge.token }}
export DEBIAN_FRONTEND=noninteractive ; apt-get -qq update ; apt-get install -y -qq curl git >& /dev/null export DEBIAN_FRONTEND=noninteractive ; apt-get -qq update ; apt-get install -y -qq curl git >& /dev/null
curl -sS -o /usr/local/bin/forgejo-curl.sh https://code.forgejo.org/forgejo/forgejo-curl/raw/branch/main/forgejo-curl.sh && chmod +x /usr/local/bin/forgejo-curl.sh curl -sS -o /usr/local/bin/forgejo-curl.sh https://code.forgejo.org/forgejo/forgejo-curl/raw/branch/main/forgejo-curl.sh && chmod +x /usr/local/bin/forgejo-curl.sh
forgejo-curl.sh --token "$GITHUB_TOKEN" login $GITHUB_SERVER_URL forgejo-curl.sh --token "$GITHUB_TOKEN" login $GITHUB_SERVER_URL
@ -27,7 +27,7 @@ jobs:
- name: determine if the PR is from a fork - name: determine if the PR is from a fork
id: forked id: forked
run: | run: |
if test ${{ github.event.pull_request.base.repo.full_name }} = ${{ github.event.pull_request.head.repo.full_name }} ; then if test ${{ forge.event.pull_request.base.repo.full_name }} = ${{ forge.event.pull_request.head.repo.full_name }} ; then
echo value=false >> $GITHUB_OUTPUT echo value=false >> $GITHUB_OUTPUT
else else
echo value=true >> $GITHUB_OUTPUT echo value=true >> $GITHUB_OUTPUT
@ -95,7 +95,7 @@ jobs:
# #
# create an issue # create an issue
# #
base_repo=${{ github.event.pull_request.base.repo.full_name }} base_repo=${{ forge.event.pull_request.base.repo.full_name }}
forgejo-curl.sh api_json --data-raw '{"title":"ISSUE"}' $GITHUB_SERVER_URL/api/v1/repos/$base_repo/issues forgejo-curl.sh api_json --data-raw '{"title":"ISSUE"}' $GITHUB_SERVER_URL/api/v1/repos/$base_repo/issues
url=$(echo $GITHUB_SERVER_URL | sed -e "s|://|://$GITHUB_TOKEN@|") url=$(echo $GITHUB_SERVER_URL | sed -e "s|://|://$GITHUB_TOKEN@|")
git clone $url/$base_repo base git clone $url/$base_repo base
@ -133,7 +133,7 @@ jobs:
- name: save event - name: save event
run: | run: |
d=/srv/example/pull-request/contexts/${{ github.event.pull_request.head.repo.owner.username }}/$GITHUB_EVENT_NAME d=/srv/example/pull-request/contexts/${{ forge.event.pull_request.head.repo.owner.username }}/$GITHUB_EVENT_NAME
mkdir -p $d mkdir -p $d
cat > $d/github <<'EOF' cat > $d/github <<'EOF'
${{ toJSON(github) }} ${{ toJSON(github) }}