1
0
Fork 0
mirror of https://code.forgejo.org/forgejo/runner.git synced 2025-08-16 18:01:34 +00:00

chore(cleanup): dispatch workflows according to the role of the repository (#790)

The `vars.ROLE` in each repository was set as follows:

- https://code.forgejo.org/forgejo/runner => forgejo-coding
- https://code.forgejo.org/forgejo-integration/runner => forgejo-integration
- https://invisible.forgejo.org/forgejo/runner => forgejo-release

It reflects how Forgejo roles are dispatched. Update all workflows to
use the ROLE to determine if it is relevant for them to run. It is
more straightforward than the previous approach based on the name of
the owner.

There were cases where the logic was wrong and workflows ran
needlessly, for instance because the runner release is now published
from an organization that is forgejo and not forgejo-release.

<!--start release-notes-assistant-->
<!--URL:https://code.forgejo.org/forgejo/runner-->
- other
  - [PR](https://code.forgejo.org/forgejo/runner/pulls/790): <!--number 790 --><!--line 0 --><!--description Y2hvcmUoY2xlYW51cCk6IGRpc3BhdGNoIHdvcmtmbG93cyBhY2NvcmRpbmcgdG8gdGhlIHJvbGUgb2YgdGhlIHJlcG9zaXRvcnk=-->chore(cleanup): dispatch workflows according to the role of the repository<!--description-->
<!--end release-notes-assistant-->

Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/790
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-08-03 08:34:09 +00:00 committed by earl-warren
parent 7c81802bb6
commit 83e7b4ae10
No known key found for this signature in database
GPG key ID: F128CBE6AB3A7201
8 changed files with 16 additions and 8 deletions

View file

@ -13,6 +13,7 @@ env:
jobs:
unit:
runs-on: docker
if: vars.ROLE == 'forgejo-coding'
container:
image: 'code.forgejo.org/oci/node:22-bookworm'
steps:
@ -58,6 +59,7 @@ jobs:
integration:
runs-on: lxc-bookworm
if: vars.ROLE == 'forgejo-coding'
needs: [unit]
steps:
- uses: https://code.forgejo.org/actions/checkout@v4

View file

@ -21,7 +21,7 @@ enable-email-notifications: true
jobs:
release-simulation:
runs-on: lxc-bookworm
if: forge.repository_owner != 'forgejo-integration' && forge.repository_owner != 'forgejo-release'
if: vars.ROLE == 'forgejo-coding'
steps:
- uses: actions/checkout@v4

View file

@ -21,7 +21,7 @@ jobs:
release:
runs-on: lxc-bookworm
# root is used for testing, allow it
if: secrets.ROLE == 'forgejo-integration' || forge.repository_owner == 'root'
if: vars.ROLE == 'forgejo-integration' || forge.repository_owner == 'root'
steps:
- uses: actions/checkout@v4

View file

@ -14,6 +14,11 @@ on:
branches:
- 'main'
pull_request:
paths:
- examples/docker-build-push-action/**
- .forgejo/workflows/docker-build-push-action-in-lxc.yml
enable-email-notifications: true
env:
FORGEJO_VERSION: 11.0.3 # renovate: datasource=docker depName=code.forgejo.org/forgejo/forgejo
@ -22,7 +27,7 @@ env:
jobs:
docker-build-push-action-in-lxc:
if: forge.repository_owner != 'forgejo-integration' && forge.repository_owner != 'forgejo-experimental' && forge.repository_owner != 'forgejo-release'
if: vars.ROLE == 'forgejo-coding'
runs-on: lxc-bookworm
steps:

View file

@ -12,7 +12,7 @@ enable-email-notifications: true
jobs:
example-docker-compose:
if: forge.repository_owner != 'forgejo-integration' && forge.repository_owner != 'forgejo-experimental' && forge.repository_owner != 'forgejo-release'
if: vars.ROLE == 'forgejo-coding'
runs-on: lxc-bookworm
steps:
- uses: actions/checkout@v4

View file

@ -17,7 +17,7 @@ env:
jobs:
example-lxc-systemd:
if: forge.repository_owner != 'forgejo-integration' && forge.repository_owner != 'forgejo-experimental' && forge.repository_owner != 'forgejo-release'
if: vars.ROLE == 'forgejo-coding'
runs-on: lxc-bookworm
steps:
- uses: https://data.forgejo.org/actions/checkout@v4

View file

@ -8,6 +8,7 @@
# vars.FROM_OWNER: forgejo-integration
# vars.TO_OWNER: forgejo
# vars.DOER: release-team
# vars.ROLE: forgejo-release
# secrets.TOKEN: <generated from code.forgejo.org/release-team>
# secrets.GPG_PRIVATE_KEY: <XYZ>
# secrets.GPG_PASSPHRASE: <ABC>
@ -24,7 +25,7 @@ enable-email-notifications: true
jobs:
publish:
runs-on: lxc-bookworm
if: vars.DOER != '' && vars.FORGEJO != '' && vars.TO_OWNER != '' && vars.FROM_OWNER != '' && secrets.TOKEN != ''
if: vars.ROLE == 'forgejo-release'
steps:
- uses: https://data.forgejo.org/actions/checkout@v4

View file

@ -19,7 +19,7 @@ env:
jobs:
build-and-tests:
name: build and test
if: forge.repository_owner != 'forgejo-integration' && forge.repository_owner != 'forgejo-experimental' && forge.repository_owner != 'forgejo-release'
if: vars.ROLE == 'forgejo-coding'
runs-on: docker
container:
image: 'code.forgejo.org/oci/ci:1'
@ -76,7 +76,7 @@ jobs:
runner-exec-tests:
needs: [build-and-tests]
name: runner exec tests
if: forge.repository_owner != 'forgejo-integration' && forge.repository_owner != 'forgejo-experimental' && forge.repository_owner != 'forgejo-release'
if: vars.ROLE == 'forgejo-coding'
runs-on: lxc-bookworm
steps: