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

View file

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

View file

@ -21,7 +21,7 @@ jobs:
release: release:
runs-on: lxc-bookworm runs-on: lxc-bookworm
# root is used for testing, allow it # 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: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4

View file

@ -14,6 +14,11 @@ on:
branches: branches:
- 'main' - 'main'
pull_request: pull_request:
paths:
- examples/docker-build-push-action/**
- .forgejo/workflows/docker-build-push-action-in-lxc.yml
enable-email-notifications: true
env: env:
FORGEJO_VERSION: 11.0.3 # renovate: datasource=docker depName=code.forgejo.org/forgejo/forgejo FORGEJO_VERSION: 11.0.3 # renovate: datasource=docker depName=code.forgejo.org/forgejo/forgejo
@ -22,7 +27,7 @@ env:
jobs: jobs:
docker-build-push-action-in-lxc: 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 runs-on: lxc-bookworm
steps: steps:

View file

@ -12,7 +12,7 @@ enable-email-notifications: true
jobs: jobs:
example-docker-compose: 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 runs-on: lxc-bookworm
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4

View file

@ -17,7 +17,7 @@ env:
jobs: jobs:
example-lxc-systemd: 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 runs-on: lxc-bookworm
steps: steps:
- uses: https://data.forgejo.org/actions/checkout@v4 - uses: https://data.forgejo.org/actions/checkout@v4

View file

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

View file

@ -19,7 +19,7 @@ env:
jobs: jobs:
build-and-tests: build-and-tests:
name: build and test 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 runs-on: docker
container: container:
image: 'code.forgejo.org/oci/ci:1' image: 'code.forgejo.org/oci/ci:1'
@ -76,7 +76,7 @@ jobs:
runner-exec-tests: runner-exec-tests:
needs: [build-and-tests] needs: [build-and-tests]
name: runner exec 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 runs-on: lxc-bookworm
steps: steps: