Compare commits

..

115 commits

Author SHA1 Message Date
earl-warren
1c87699e98 Merge pull request 'chore(docs): 6.0.0 release notes' (#401) from earl-warren/runner:wip-release into main
Some checks failed
/ example-docker-compose (push) Failing after 30m26s
checks / build and test (push) Has been cancelled
checks / runner exec tests (push) Has been cancelled
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/401
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-12-28 07:59:27 +00:00
Earl Warren
6d10f57eaa
chore(docs): 6.0.0 release notes 2024-12-27 13:07:42 +01:00
earl-warren
64df715d73 Merge pull request 'Update module google.golang.org/protobuf to v1.36.1' (#397) from renovate/google.golang.org-protobuf-1.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/397
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-12-24 11:20:20 +00:00
Renovate Bot
b5ce1ccb8a
Update module google.golang.org/protobuf to v1.36.1 2024-12-24 00:02:25 +00:00
earl-warren
45f9c1f948 Merge pull request 'Update actions/cascading-pr action to v2' (#395) from renovate/actions-cascading-pr-2.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/395
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-12-18 07:44:17 +00:00
Renovate Bot
6901b83a9d
Update actions/cascading-pr action to v2 2024-12-17 14:31:19 +00:00
Michael Kriese
3ee89c08b5 Merge pull request 'Replace actions/cascading-pr action with actions/cascading-pr v1.0.1' (#394) from renovate/actions-cascading-pr-replacement into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/394
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-12-17 09:57:48 +00:00
viceice
44227666ba ci: add explicit url
Signed-off-by: viceice <michael.kriese@gmx.de>
2024-12-17 08:17:29 +00:00
Renovate Bot
521e3f1188
Replace actions/cascading-pr action with actions/cascading-pr v1.0.1 2024-12-17 08:00:55 +00:00
earl-warren
227c2b2dc1 Merge pull request 'Update forgejo/forgejo-build-publish action to v5.2.1' (#393) from renovate/forgejo-forgejo-build-publish-5.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/393
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-12-17 06:37:02 +00:00
Renovate Bot
bfc83035a6
Update forgejo/forgejo-build-publish action to v5.2.1 2024-12-17 06:32:58 +00:00
earl-warren
95a8d9530e Merge pull request 'Update module google.golang.org/protobuf to v1.36.0' (#392) from renovate/google.golang.org-protobuf-1.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/392
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-12-17 05:46:19 +00:00
Renovate Bot
24210fe55d
Update module google.golang.org/protobuf to v1.36.0 2024-12-17 00:02:07 +00:00
earl-warren
c9265044b5 Merge pull request 'Rebrand container prefix to Forgejo' (#377) from fnetx/rebrand-prefix into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/377
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-12-15 07:42:00 +00:00
earl-warren
f1b80e2e99 Merge pull request 'chore(release): fix the link to the release notes' (#391) from earl-warren/runner:wip-release into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/391
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-12-15 07:41:24 +00:00
Earl Warren
477e949997
chore(release): fix the link to the release notes 2024-12-14 04:31:06 +01:00
earl-warren
5a14247c19 Merge pull request 'feat: use FORGEJO_TOKEN as runtime token' (#389) from xtex/runner:forgejo-token into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/389
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-12-14 03:30:03 +00:00
xtex
3068bebfcb
feat: use FORGEJO_TOKEN as runtime token
Link: https://codeberg.org/forgejo/forgejo/pulls/6199
2024-12-13 20:24:01 +08:00
Otto Richter
a2ce5d9f8b
Rebrand container prefix to Forgejo 2024-12-09 16:21:04 +01:00
Michael Kriese
e238532feb Merge pull request 'Update dependency forgejo-lxc to v12' (#373) from renovate/forgejo-lxc-12.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/373
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-12-09 15:19:48 +00:00
Renovate Bot
f351e7a7b1
Update dependency forgejo-lxc to v12 2024-12-09 14:31:33 +00:00
earl-warren
f5087573da Merge pull request 'Update actions/setup-forgejo action to v2' (#374) from renovate/actions-setup-forgejo-2.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/374
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-12-09 09:36:28 +00:00
Renovate Bot
81422b4515
Update actions/setup-forgejo action to v2 2024-12-07 15:00:54 +00:00
Michael Kriese
3f8cadc0fe Merge pull request 'ci: pin setup forgejo action' (#372) from ci/pin-setuo-forgejo-action into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/372
2024-12-07 14:10:03 +00:00
Michael Kriese
191259d7c3
ci: pin setup forgejo action 2024-12-07 14:23:22 +01:00
earl-warren
de2e4c21aa Merge pull request 'Update module github.com/docker/docker to v25.0.7+incompatible' (#370) from renovate/github.com-docker-docker-25.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/370
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-12-07 07:14:19 +00:00
Renovate Bot
79f6adc4d2
Update module github.com/docker/docker to v25.0.7+incompatible 2024-12-07 00:01:14 +00:00
Michael Kriese
f3bcb0e57a Merge pull request 'ci: use new ci image' (#361) from ci/use-ci-image into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/361
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-12-06 13:23:21 +00:00
Michael Kriese
b34efbce8b
ci: use new ci image 2024-12-04 21:02:16 +01:00
Michael Kriese
6c0527e8f7 Merge pull request 'Update dependency go to v1.23.4' (#363) from renovate/patch-golang-packages into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/363
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-12-04 13:56:01 +00:00
Renovate Bot
7f22a720ad
Update dependency go to v1.23.4 2024-12-04 11:31:26 +00:00
Michael Kriese
b8ccb30612 Merge pull request 'build: use go toolchain' (#360) from build/use-go-toolchain into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/360
2024-12-04 11:18:05 +00:00
Michael Kriese
055854d1d7
build: use go toolchain 2024-12-04 10:12:38 +01:00
earl-warren
f8b0ccf1a3 Merge pull request 'fix: [container].docker_host = "" is now "automount"' (#354) from earl-warren/runner:wip-config into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/354
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-11-27 09:39:17 +00:00
Earl Warren
279faefa08
fix: [container].docker_host = "" is now "automount"
The empty string is always replaced with "-" and there no longer is
any way to specify that the docker socket is to be mounted in the
container automatically.

The "automount" value is introduced as a replacement.

https://code.forgejo.org/forgejo/act/pulls/67 and
https://code.forgejo.org/forgejo/runner/pulls/305 introduced this regression.
2024-11-27 01:36:18 +00:00
earl-warren
eee0b082fb Merge pull request 'Update module github.com/stretchr/testify to v1.10.0' (#352) from renovate/github.com-stretchr-testify-1.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/352
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-11-24 08:50:10 +00:00
Renovate Bot
90ff9370c4
Update module github.com/stretchr/testify to v1.10.0 2024-11-24 00:02:30 +00:00
earl-warren
811c07711f Merge pull request 'chore(docs): 5.0.2 release notes' (#349) from earl-warren/runner:wip-release-notes into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/349
2024-11-21 14:20:13 +00:00
earl-warren
2d77bc141b Merge pull request 'Update module code.forgejo.org/forgejo/act to v1.22.2' (#350) from renovate/code.forgejo.org-forgejo-act-1.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/350
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-11-21 14:14:55 +00:00
Renovate Bot
35d655c27e
Update module code.forgejo.org/forgejo/act to v1.22.2 2024-11-21 13:55:00 +00:00
Earl Warren
aca528a7f7
chore(docs): 5.0.2 release notes 2024-11-21 13:05:50 +00:00
earl-warren
aaac4fc798 Merge pull request 'chore(docs): 5.0.1 release notes' (#347) from earl-warren/runner:wip-release-notes into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/347
2024-11-20 17:05:47 +00:00
earl-warren
9d10ba9851 Merge pull request 'Update module code.forgejo.org/forgejo/act to v1.22.1' (#346) from renovate/code.forgejo.org-forgejo-act-1.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/346
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-11-20 17:04:31 +00:00
Earl Warren
5889426664
chore(docs): 5.0.1 release notes 2024-11-20 16:44:23 +00:00
Renovate Bot
96c59a3cd1
Update module code.forgejo.org/forgejo/act to v1.22.1 2024-11-20 16:32:29 +00:00
earl-warren
704c88df32 Merge pull request 'ci: use our cached oci images' (#343) from ci/use-oci-cache into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/343
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-11-20 11:46:59 +00:00
Michael Kriese
edd867dc16
ci: use our cached oci images 2024-11-20 10:50:07 +01:00
earl-warren
44b3b04d2d Merge pull request 'chore(ci): do not run the docker-example when not needed' (#336) from earl-warren/runner:wip-example-code-only into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/336
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-11-16 17:27:59 +00:00
earl-warren
eb34374d42 Merge pull request 'Update module google.golang.org/protobuf to v1.35.2' (#332) from renovate/google.golang.org-protobuf-1.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/332
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-11-16 13:27:59 +00:00
Earl Warren
68b0850d27
chore(ci): do not run the docker-example when not needed
If the organization is for release, integration or experimental, no
need to run the docker example test.
2024-11-16 14:23:52 +01:00
earl-warren
4937ba2f3b Merge pull request 'fix: Update forgejo/forgejo-build-publish action to v5' (#335) from earl-warren/runner:wip-publish into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/335
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-11-16 13:17:01 +00:00
Earl Warren
f1a9f798e5
fix: Update forgejo/forgejo-build-publish action to v5
Address the breaking changes. It is conveniently modeled after
the use of the same action in the Forgejo release.

6bab3c374c/.forgejo/workflows/publish-release.yml (L44-L60)
2024-11-16 12:52:33 +01:00
earl-warren
5d01a328cb Merge pull request 'chore(ci): wait for the Forgejo instance to start' (#334) from earl-warren/runner:wip-test-delay into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/334
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-11-16 10:08:30 +00:00
Earl Warren
0876532ebe
chore(ci): wait for the Forgejo instance to start
Do not try to access Forgejo before the 10 second delay imposed by
the script creating the user.

Upgrade Forgejo to use a recent version.
2024-11-16 09:38:48 +01:00
earl-warren
8ccf20cf8a Merge pull request 'fix: make container.docker_host default to - (part two)' (#333) from earl-warren/runner:wip-default-docker-host into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/333
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-11-15 22:17:15 +00:00
Earl Warren
b33e155709
fix: make container.docker_host default to - (part two)
If --config is not specified, the default must also be "-" and not ""
2024-11-15 22:48:56 +01:00
Renovate Bot
2bcc6d9b8f
Update module google.golang.org/protobuf to v1.35.2 2024-11-15 00:03:42 +00:00
earl-warren
a3e575f61b Merge pull request 'Update golang packages to v1.23 (minor)' (#330) from renovate/minor-1.23-golang-packages into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/330
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-11-14 08:23:55 +00:00
earl-warren
6763b761e4 Merge pull request 'Update forgejo/forgejo-build-publish action to v5' (#331) from renovate/forgejo-forgejo-build-publish-5.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/331
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-11-14 08:10:59 +00:00
Renovate Bot
355ec95532
Update forgejo/forgejo-build-publish action to v5 2024-11-12 15:31:31 +00:00
Renovate Bot
a0df63fe70
Update golang packages to v1.23 2024-11-12 15:31:26 +00:00
earl-warren
54cfdd7065 Merge pull request 'tests: it make take time for Forgejo to come up' (#329) from earl-warren/runner:wip-test-retry into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/329
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-11-12 15:10:12 +00:00
Michael Kriese
9aa014ef6f Merge pull request 'Update code.forgejo.org/oci/alpine Docker tag to v3.20' (#328) from renovate/minor-3.20-alpine-packages into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/328
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-11-12 14:18:47 +00:00
Michael Kriese
830df0d128
chore(renovate): only one PR at a time 2024-11-12 15:14:00 +01:00
Earl Warren
b4aba5f688
tests: it make take time for Forgejo to come up 2024-11-12 14:40:06 +01:00
Renovate Bot
c9f8bb6887
Update code.forgejo.org/oci/alpine Docker tag to v3.20 2024-11-12 13:01:01 +00:00
earl-warren
e8e288dd7a Merge pull request 'Update golang packages to v1.22 (minor)' (#320) from renovate/minor-1.22-golang-packages into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/320
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-11-12 12:59:12 +00:00
earl-warren
c178d44f69 Merge pull request 'test: unpin docker compose' (#327) from test/unpin-docker-compose into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/327
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-11-12 12:11:54 +00:00
Renovate Bot
342141df3a
Update golang packages to v1.22 2024-11-12 11:41:45 +00:00
Michael Kriese
f4fc4c0247
test: unpin docker compose 2024-11-12 12:38:54 +01:00
Michael Kriese
0f9471302a Merge pull request 'ci: use go-version-file' (#322) from viceice/ci/go-version-file into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/322
2024-11-12 11:35:44 +00:00
Michael Kriese
4ddd8a4ce8
ci: use go-version-file 2024-11-12 11:48:32 +01:00
Michael Kriese
030b1279ad Merge pull request 'Update actions/setup-go action to v5' (#324) from renovate/actions-setup-go-5.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/324
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-11-12 10:46:15 +00:00
Renovate Bot
0aed67ae69
Update actions/setup-go action to v5 2024-11-12 10:05:45 +00:00
Michael Kriese
113493541c Merge pull request 'ci: don't run on renovate branches' (#323) from viceice/ci/renovate into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/323
2024-11-12 10:03:19 +00:00
Michael Kriese
a3b0a48d4f Merge pull request 'Update actions/checkout action to v4' (#321) from renovate/actions-checkout-4.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/321
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-11-12 10:02:58 +00:00
Michael Kriese
65c9651b1b
ci: don't run on renovate branches
They are run on PR. Save some ci time (~6min)
2024-11-12 10:48:52 +01:00
Renovate Bot
7696c1b72a
Update actions/checkout action to v4 2024-11-12 09:35:59 +00:00
earl-warren
ab8346ba3a Merge pull request 'Update module code.forgejo.org/forgejo/act to v1.22.0' (#319) from renovate/code.forgejo.org-forgejo-act-1.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/319
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-11-12 07:24:55 +00:00
Renovate Bot
c97e4d1fe3
Update module code.forgejo.org/forgejo/act to v1.22.0 2024-11-12 00:08:54 +00:00
earl-warren
1b688b7c5e Merge pull request 'Include tag version number in windows runners' (#318) from windows/runner:main into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/318
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-11-10 13:53:51 +00:00
Felix Kröner
0fb825f8e7 ci: Include version number in windows runner build 2024-11-10 14:05:33 +01:00
Michael Kriese
f6626f09d5
fix: dockerfile casing typo 2024-11-08 09:53:52 +01:00
earl-warren
94fcda8483 Merge pull request 'Cherry-pick gitea act_runner 543' (#303) from Kwonunn/runner:act-543-cherry into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/303
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-11-08 08:49:18 +00:00
Michael Kriese
f7567f3cd7 Merge pull request 'Update module golang.org/x/time to v0.8.0' (#316) from renovate/golang.org-x-time-0.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/316
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-11-08 08:25:16 +00:00
Renovate Bot
4a57d4acf9
Update module golang.org/x/time to v0.8.0 2024-11-08 07:54:54 +00:00
earl-warren
24b72f5aee Merge pull request 'Update module golang.org/x/term to v0.26.0' (#315) from renovate/golang.org-x-term-0.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/315
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-11-08 07:52:27 +00:00
Renovate Bot
9510276a99
Update module golang.org/x/term to v0.26.0 2024-11-08 00:05:20 +00:00
Felix Kröner
228e002565 Add support for windows build on GitHub (#312)
This PR adds a Windows build pipeline running on GitHub.
Currently it runs on the repository https://github.com/Crown0815/forgejo-runner-windows.

So far the build does not include tests, but I am working on a solution.
For the time being we can release the windows builds easily though.

Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/312
Co-authored-by: Felix Kröner <felix.kroener@gmx.de>
Co-committed-by: Felix Kröner <felix.kroener@gmx.de>
2024-11-07 07:30:12 +00:00
earl-warren
5ef5a916c7 Merge pull request 'Update dependency go to v1.23.3' (#313) from renovate/patch-golang-packages into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/313
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-11-07 06:36:20 +00:00
Renovate Bot
0658d72b3f
Update dependency go to v1.23.3 2024-11-06 23:35:14 +00:00
Kwonunn
0ba115ba67 Version bump and add release notes 2024-11-03 15:10:54 +01:00
Kwonunn
6c9959d7a9 Cherry-pick gitea act_runner #543
From: 1735b26e66

Don't log job output when debug logging is not enabled

We wanted the ability to disable outputting the logs from the individual job to the console. This changes the logging so that job logs are only output to the console whenever debug logging is enabled in `act_runner`, while still allowing the `Reporter` to receive these logs and forward them to Gitea when debug logging is not enabled.

Signed-off-by: Kwonunn <kwonunnx@gmail.com>
2024-11-03 13:57:34 +00:00
earl-warren
b76cd576ef Merge pull request 'feat: add configurable logging level for jobs' (#299) from xenrox/runner:job-logging-level into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/299
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-11-03 07:45:07 +00:00
Thorben Günther
8b2242d893
Update release notes. 2024-11-02 20:32:13 +01:00
Thorben Günther
846ff2a616
Add simple test 2024-11-02 17:49:38 +01:00
Thorben Günther
71149e36fa
Add configurable logging level for jobs
This changes the default for JobLoggerLevel from "trace" to "info".

Closes #298
2024-11-02 17:49:34 +01:00
earl-warren
907588cef5 Merge pull request 'chore(release-notes): version 4.0.1' (#310) from earl-warren/runner:wip-release-notes into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/310
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-11-01 06:02:05 +00:00
Earl Warren
3f3601e46b
chore(release-notes): version 4.0.1 2024-11-01 06:18:24 +01:00
earl-warren
67361d1c0e Merge pull request 'Update module code.forgejo.org/forgejo/act to v1.21.5' (#309) from renovate/code.forgejo.org-forgejo-act-1.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/309
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-11-01 05:14:16 +00:00
Renovate Bot
45fe0a6c66
Update module code.forgejo.org/forgejo/act to v1.21.5 2024-11-01 00:07:20 +00:00
earl-warren
61ebb3b338 Merge pull request 'fix: make container.docker_host default to -' (#305) from earl-warren/runner:wip-default-docker-host into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/305
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-10-29 11:12:05 +00:00
Earl Warren
2b64f15543
fix: make container.docker_host default to -
Otherwise containers will be running by default with a socket to the
docker host which is insecure. The default must be secure.
2024-10-29 11:39:13 +01:00
earl-warren
a424406b0f Merge pull request 'Update module code.forgejo.org/forgejo/act to v1.21.4' (#297) from renovate/code.forgejo.org-forgejo-act-1.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/297
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-10-20 03:44:02 +00:00
Renovate Bot
5a4387dd00
Update module code.forgejo.org/forgejo/act to v1.21.4 2024-10-20 00:00:48 +00:00
earl-warren
37f9f9e48f Merge pull request 'feat: add issue templates' (#296) from Kwonunn/runner:issue-templates into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/296
2024-10-19 13:52:02 +00:00
Kwonunn
20915dc1bf chore: add issue templates 2024-10-19 14:59:29 +02:00
Michael Kriese
eb309b28d2 Merge pull request 'Update module golang.org/x/time to v0.7.0' (#289) from renovate/golang.org-x-time-0.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/289
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-10-08 04:41:51 +00:00
Renovate Bot
95ef0da021
Update module golang.org/x/time to v0.7.0 2024-10-08 04:31:39 +00:00
earl-warren
76a710058b Merge pull request 'Update module google.golang.org/protobuf to v1.35.1' (#291) from renovate/google.golang.org-protobuf-1.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/291
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-10-08 04:11:33 +00:00
Renovate Bot
722c109681
Update module google.golang.org/protobuf to v1.35.1 2024-10-08 00:01:47 +00:00
earl-warren
75a2981e5b Merge pull request 'Update module golang.org/x/term to v0.25.0' (#288) from renovate/golang.org-x-term-0.x into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/288
2024-10-05 06:51:01 +00:00
Renovate Bot
38e884d973
Update module golang.org/x/term to v0.25.0 2024-10-05 00:00:52 +00:00
earl-warren
11270595e9 Merge pull request 'Update dependency go to v1.23.2' (#286) from renovate/patch-golang-packages into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/286
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
2024-10-02 08:13:33 +00:00
Renovate Bot
54b9c53136
Update dependency go to v1.23.2 2024-10-01 17:30:57 +00:00
23 changed files with 349 additions and 84 deletions

View file

@ -0,0 +1,84 @@
name: 🐛 Bug Report
description: Found something you weren't expecting? Report it here!
title: "bug: "
labels: ["Kind/Bug"]
body:
- type: markdown
attributes:
value: |
**NOTE: If your issue is a security concern, please email <security@forgejo.org> (GPG: `A4676E79`) instead of opening a public issue.**
- type: markdown
attributes:
value: |
- Please speak English, as this is the language all maintainers can speak and write.
- Be as clear and concise as possible. A very verbose report is harder to interpret in a concrete way.
- Be civil, and follow the [Forgejo Code of Conduct](https://codeberg.org/forgejo/code-of-conduct).
- Take a moment to [check that your issue hasn't been reported before](https://code.forgejo.org/forgejo/runner/issues?q=&type=all&labels=19).
- type: dropdown
id: can-reproduce
attributes:
label: Can you reproduce the bug on the Forgejo test instance?
description: |
Please try reproducing your issue at https://dev.next.forgejo.org.
It is running the latest development branch and will confirm the problem is not already fixed.
If you can reproduce it, provide a URL in the description.
options:
- "Yes"
- "No"
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: |
Please provide a description of your issue here, with a URL if you were able to reproduce the issue (see above).
validations:
required: true
- type: input
id: forgejo-ver
attributes:
label: Forgejo Version
description: Forgejo version (or commit reference) of your instance
- type: input
id: runner-ver
attributes:
label: Runner Version
description: Runner version (or commit reference) of the runner on your instance
- type: textarea
id: forgejo-run-info
attributes:
label: How are you running Forgejo?
description: |
Please include information on whether you built Forgejo yourself, used one of our downloads, or are using some other package.
Please also tell us how you are running Forgejo, e.g. if it is being run from a container, a command-line, systemd etc.
If you are using a package or systemd tell us what distribution you are using.
validations:
required: true
- type: textarea
id: runner-run-info
attributes:
label: How are you running the Runner?
description: |
Please include information on whether you built the Runner yourself, used one of our downloads, or are using some other package.
Please also tell us how you are running it, e.g. if it is being run from a container, a command-line, systemd etc.
If you are using a package or systemd tell us what distribution you are using.
validations:
required: true
- type: textarea
id: logs
attributes:
label: Logs
description: |
It's really important to provide pertinent logs. You must give us `DEBUG` level logs.
Please read https://forgejo.org/docs/latest/admin/logging-documentation/.
Please copy and paste your logs here, with any sensitive information (e.g. API keys) removed/hidden.
You can wrap your logs in `<details>...</details>` tags so it doesn't take up too much space in the issue.
- type: textarea
id: workflow
attributes:
label: Workflow file
description: |
If the bug occurs in a specific workflow, please provide an example workflow file.
If you have linked to a reproduction repository this won't be necessary.

View file

@ -0,0 +1,26 @@
name: 💡 Feature Request
description: Got an idea for an improvement to the Forgejo Runner? Suggest it here!
title: "feat: "
labels: ["Kind/Enhancement"]
body:
- type: markdown
attributes:
value: |
- Please speak English, as this is the language all maintainers can speak and write.
- Be as clear and concise as possible. A very verbose request is harder to interpret in a concrete way.
- Be civil, and follow the [Forgejo Code of Conduct](https://codeberg.org/forgejo/code-of-conduct).
- Please make sure you are using the latest release of the runner and take a moment to [check that your feature hasn't already been suggested](https://code.forgejo.org/forgejo/runner/issues?q=&type=all).
- type: textarea
id: needs-benefits
attributes:
label: Needs and benefits
description: As concisely as possible, describe the benefits your feature request will provide or the problems it will try to solve.
validations:
required: true
- type: textarea
id: description
attributes:
label: Feature Description
description: As concisely as possible, describe the feature you would like to see added or the changes you would like to see made to Forgejo.
validations:
required: true

View file

@ -7,6 +7,8 @@ on:
- Dockerfile
- .forgejo/workflows/build-release.yml
- .forgejo/workflows/build-release-integration.yml
branches-ignore:
- renovate/** # they are build via PR
pull_request:
paths:
- go.mod
@ -16,13 +18,13 @@ on:
jobs:
release-simulation:
runs-on: self-hosted
runs-on: lxc-bookworm
if: github.repository_owner != 'forgejo-integration' && github.repository_owner != 'forgejo-release'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- id: forgejo
uses: https://code.forgejo.org/actions/setup-forgejo@v1
uses: https://code.forgejo.org/actions/setup-forgejo@v2.0.4
with:
user: root
password: admin1234

View file

@ -12,15 +12,16 @@ name: Build release
on:
push:
tags: 'v*'
tags:
- 'v*'
jobs:
release:
runs-on: self-hosted
runs-on: lxc-bookworm
# root is used for testing, allow it
if: secrets.ROLE == 'forgejo-integration' || github.repository_owner == 'root'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Increase the verbosity when there are no secrets
id: verbose

View file

@ -8,9 +8,11 @@ on:
jobs:
cascade:
runs-on: docker
container:
image: 'code.forgejo.org/oci/node:20-bookworm'
if: vars.CASCADE != 'no'
steps:
- uses: actions/cascading-pr@v1
- uses: https://code.forgejo.org/actions/cascading-pr@v2.2.0
with:
origin-url: ${{ env.GITHUB_SERVER_URL }}
origin-repo: forgejo/runner

View file

@ -7,7 +7,8 @@ on:
jobs:
example-docker-compose:
runs-on: self-hosted
if: github.repository_owner != 'forgejo-integration' && github.repository_owner != 'forgejo-experimental' && github.repository_owner != 'forgejo-release'
runs-on: lxc-bookworm
steps:
- uses: actions/checkout@v4
@ -20,12 +21,8 @@ jobs:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update -qq
apt-get install -qq -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin=2.20.2-1~debian.11~bullseye
apt-get install -qq -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker version
#
# docker compose is prone to non backward compatible changes, pin it
#
apt-get install -qq -y docker-compose-plugin=2.20.2-1~debian.11~bullseye
docker compose version
- name: run the example
@ -39,11 +36,8 @@ jobs:
# Launch Forgejo & the runner
#
$cli up -d
for delay in $(seq 60) ; do
test -f ./forgejo-runner/runner.json && break
sleep 30
done
test -f ./forgejo-runner/runner.json
for delay in $(seq 60) ; do test -f /srv/runner-data/.runner && break ; sleep 30 ; done
test -f /srv/runner-data/.runner
#
# Run the demo workflow
#
@ -59,11 +53,11 @@ jobs:
grep --quiet "$success" /tmp/out && break
grep --quiet "$failure" /tmp/out && break
$cli ps --all
$cli logs --tail=20 forgejo-runner demo-workflow
$cli logs --tail=20 runner-daemon demo-workflow
sleep 30
done
grep --quiet "$success" /tmp/out
$cli logs forgejo-runner > /tmp/runner.log
$cli logs runner-daemon > /tmp/runner.log
grep --quiet 'Start image=code.forgejo.org/oci/node:20-bookworm' /tmp/runner.log
- name: full docker compose logs

View file

@ -17,26 +17,31 @@ name: publish
on:
push:
tags: 'v*'
tags:
- 'v*'
jobs:
publish:
runs-on: self-hosted
runs-on: lxc-bookworm
if: secrets.DOER != '' && secrets.FORGEJO != '' && secrets.TO_OWNER != '' && secrets.FROM_OWNER != '' && secrets.TOKEN != ''
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: copy & sign
uses: https://code.forgejo.org/forgejo/forgejo-build-publish/publish@v1
uses: https://code.forgejo.org/forgejo/forgejo-build-publish/publish@v5.2.1
with:
forgejo: ${{ secrets.FORGEJO }}
from-forgejo: ${{ secrets.FORGEJO }}
to-forgejo: ${{ secrets.FORGEJO }}
from-owner: ${{ secrets.FROM_OWNER }}
to-owner: ${{ secrets.TO_OWNER }}
repo: "runner"
release-notes: "See https://code.forgejo.org/forgejo/runner/src/branch/main/RELEASE-NOTES.md#{ANCHOR}"
ref-name: ${{ github.ref_name }}
sha: ${{ github.sha }}
container-suffixes: " "
doer: ${{ secrets.DOER }}
token: ${{ secrets.TOKEN }}
from-token: ${{ secrets.TOKEN }}
to-doer: ${{ secrets.DOER }}
to-token: ${{ secrets.TOKEN }}
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}
verbose: ${{ secrets.VERBOSE }}

View file

@ -19,10 +19,12 @@ jobs:
name: build and test
if: github.repository_owner != 'forgejo-integration' && github.repository_owner != 'forgejo-experimental' && github.repository_owner != 'forgejo-release'
runs-on: docker
container:
image: 'code.forgejo.org/oci/ci:1'
services:
forgejo:
image: codeberg.org/forgejo/forgejo:1.21
image: codeberg.org/forgejo/forgejo:9
env:
FORGEJO__security__INSTALL_LOCK: "true"
FORGEJO__log__LEVEL: "debug"
@ -36,12 +38,22 @@ jobs:
- ${{ env.FORGEJO_SCRIPT }}
steps:
- uses: actions/setup-go@v3
with:
go-version: '1.21'
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: validate go version
run: |
set -ex
toolchain=$(grep -oP '(?<=toolchain ).+' go.mod)
version=$(go version | cut -d' ' -f3)
if [ "$toolchain" != "$version" ]; then
echo "go version mismatch: $toolchain <> $version"
exit 1
fi
- run: make vet
- run: make build
@ -53,9 +65,9 @@ jobs:
- name: check the forgejo server is responding
run: |
apt-get update -qq
apt-get install -y -qq jq curl
test $FORGEJO_ADMIN_USER = $(curl -sS http://$FORGEJO_ADMIN_USER:$FORGEJO_ADMIN_PASSWORD@$FORGEJO_HOST_PORT/api/v1/user | jq --raw-output .login)
sleep 10 # matches the sleep 10 in the bootstrap of the Forgejo instance
# in case of a slow machine, give it time to bootstrap
retry --delay=10 --times=6 bash -c 'test $FORGEJO_ADMIN_USER = $(curl -sS http://$FORGEJO_ADMIN_USER:$FORGEJO_ADMIN_PASSWORD@$FORGEJO_HOST_PORT/api/v1/user | jq --raw-output .login)'
- run: make FORGEJO_URL=http://$FORGEJO_HOST_PORT test
@ -63,7 +75,7 @@ jobs:
needs: [build-and-tests]
name: runner exec tests
if: github.repository_owner != 'forgejo-integration' && github.repository_owner != 'forgejo-experimental' && github.repository_owner != 'forgejo-release'
runs-on: self-hosted
runs-on: lxc-bookworm
steps:

50
.github/workflows/build-release.yml vendored Normal file
View file

@ -0,0 +1,50 @@
# This workflow will build a Windows binary for each architecture and upload it as an artifact.
# If the push is a tag, it will create a release with the binaries attached.
# This build is currently supported on https://github.com/Crown0815/forgejo-runner-windows
name: Build release
on:
push:
tags: 'v*'
jobs:
build:
name: Build ${{matrix.architecture}}
runs-on: ubuntu-latest
strategy:
matrix:
architecture: ['386', amd64, arm, arm64]
steps:
- uses: actions/checkout@v4
- name: Build for ${{matrix.architecture}}
run: |
env GOOS=windows GOARCH=${{matrix.architecture}} \
go build \
-ldflags "-s -w -X gitea.com/gitea/act_runner/internal/pkg/ver.version=${{ github.ref_name }}" \
-o forgejo-runner-windows-${{matrix.architecture}}.exe
- uses: actions/upload-artifact@v4
with:
name: forgejo-runner-windows-${{matrix.architecture}}
path: forgejo-runner-windows-${{matrix.architecture}}.exe
release:
runs-on: ubuntu-latest
needs: build
if: github.event_name == 'push' && github.ref_type == 'tag'
steps:
- uses: actions/download-artifact@v4
with:
path: .
- name: Create Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.ref_name }}
files: forgejo-runner-windows-*/forgejo-runner-windows-*.exe
draft: false
prerelease: ${{ contains(github.ref, 'beta') || contains(github.ref, 'alpha') }}
token: ${{ secrets.RELEASE_TOKEN }}
fail_on_unmatched_files: true
body: See [original release notes](https://code.forgejo.org/forgejo/runner/releases/tag/${{ github.ref_name }}).

3
.gitignore vendored
View file

@ -12,3 +12,6 @@ coverage.txt
__debug_bin
# gorelease binary folder
dist
# Jetbrains IDE
.idea

View file

@ -1,6 +1,6 @@
FROM --platform=$BUILDPLATFORM code.forgejo.org/oci/tonistiigi/xx AS xx
FROM --platform=$BUILDPLATFORM code.forgejo.org/oci/golang:1.21-alpine3.19 as build-env
FROM --platform=$BUILDPLATFORM code.forgejo.org/oci/golang:1.23-alpine3.20 AS build-env
#
# Transparently cross compile for the target platform
@ -19,7 +19,7 @@ WORKDIR /srv
RUN make clean && make build
FROM code.forgejo.org/oci/alpine:3.19
FROM code.forgejo.org/oci/alpine:3.20
ARG RELEASE_VERSION
RUN apk add --no-cache git bash

View file

@ -1,7 +1,39 @@
# Release Notes
## 3.5.2
## 6.0.0
* Security: the container options a job is allowed to specify are limited to a [predefined allow list](https://forgejo.org/docs/next/user/actions/#jobsjob_idcontaineroptions).
## 5.0.4
* Define FORGEJO_TOKEN as an alias to GITHUB_TOKEN
## 5.0.3
* [Fixes a regression](https://code.forgejo.org/forgejo/runner/pulls/354) that was introduced in version 5.0.0 by which it was no longer possible to mount the docker socket in each container by specifying `[container].docker_host = ""`. This is now implemented when `[container].docker_host = "automount"` is specified.
## 5.0.2
* Fixes a regression that was introduced in version 5.0.0 by which [skipped jobs were marked as failed instead](https://code.forgejo.org/forgejo/act/pulls/67). The workaround is to change the job log level to debug `[log].job_level: debug`.
## 5.0.1
* Security: the `/opt/hostedtoolcache` directory is now unique to each job instead of being shared to avoid a risk of corruption. It is still advertised in the `RUNNER_TOOL_CACHE` environment variable. Custom container images can be built to pre-populate this directory with frequently used tools and some actions (such as `setup-go`) will benefit from that.
## 5.0.0
* Breaking change: the default configuration for `docker_host` is changed to [not mounting the docker server socket](https://code.forgejo.org/forgejo/runner/pulls/305) even when no configuration file is provided.
* [Add job_level logging option to config](https://code.forgejo.org/forgejo/runner/pulls/299) to make the logging level of jobs configurable. Change default from "trace" to "info".
* [Don't log job output when debug logging is not enabled](https://code.forgejo.org/forgejo/runner/pulls/303). This reduces the default amount of log output of the runner.
## 4.0.1
* Do not panic when [the number of arguments of a function evaluated in an expression is incorect](https://code.forgejo.org/forgejo/act/pulls/59/files).
## 4.0.0
* Breaking change: fix the default configuration for `docker_host` is changed to [not mounting the docker server socket](https://code.forgejo.org/forgejo/runner/pulls/305).
* [Remove debug information from the setup of a workflow](https://code.forgejo.org/forgejo/runner/pulls/297).
* Fix [crash in some cases when the YAML structure is not as expected](https://code.forgejo.org/forgejo/runner/issues/267).
## 3.5.1

18
go.mod
View file

@ -1,25 +1,25 @@
module gitea.com/gitea/act_runner
go 1.21.13
go 1.23
toolchain go1.23.1
toolchain go1.23.4
require (
code.gitea.io/actions-proto-go v0.4.0
code.gitea.io/gitea-vet v0.2.3
connectrpc.com/connect v1.17.0
github.com/avast/retry-go/v4 v4.6.0
github.com/docker/docker v25.0.6+incompatible
github.com/docker/docker v25.0.7+incompatible
github.com/google/uuid v1.6.0
github.com/joho/godotenv v1.5.1
github.com/mattn/go-isatty v0.0.20
github.com/nektos/act v0.2.49
github.com/sirupsen/logrus v1.9.3
github.com/spf13/cobra v1.8.1
github.com/stretchr/testify v1.9.0
golang.org/x/term v0.24.0
golang.org/x/time v0.6.0
google.golang.org/protobuf v1.34.2
github.com/stretchr/testify v1.10.0
golang.org/x/term v0.26.0
golang.org/x/time v0.8.0
google.golang.org/protobuf v1.36.1
gopkg.in/yaml.v3 v3.0.1
gotest.tools/v3 v3.5.1
)
@ -96,10 +96,10 @@ require (
golang.org/x/mod v0.13.0 // indirect
golang.org/x/net v0.23.0 // indirect
golang.org/x/sync v0.6.0 // indirect
golang.org/x/sys v0.25.0 // indirect
golang.org/x/sys v0.27.0 // indirect
golang.org/x/tools v0.14.0 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
)
replace github.com/nektos/act => code.forgejo.org/forgejo/act v1.21.3
replace github.com/nektos/act => code.forgejo.org/forgejo/act v1.22.2

28
go.sum
View file

@ -1,5 +1,5 @@
code.forgejo.org/forgejo/act v1.21.3 h1:EeJbrz0aar2QhIcBlOW5gjK1rjrQxcAvQSPpG/R1h5w=
code.forgejo.org/forgejo/act v1.21.3/go.mod h1:+PcvJ9iv+NTFeJSh79ra9Jbk9l0vvyA9D9me5/dbxYM=
code.forgejo.org/forgejo/act v1.22.2 h1:gcHugOaLCtZvLnw070MiCjwVLKoSTVomd8waGsYQHKg=
code.forgejo.org/forgejo/act v1.22.2/go.mod h1:+PcvJ9iv+NTFeJSh79ra9Jbk9l0vvyA9D9me5/dbxYM=
code.gitea.io/actions-proto-go v0.4.0 h1:OsPBPhodXuQnsspG1sQ4eRE1PeoZyofd7+i73zCwnsU=
code.gitea.io/actions-proto-go v0.4.0/go.mod h1:mn7Wkqz6JbnTOHQpot3yDeHx+O5C9EGhMEE+htvHBas=
code.gitea.io/gitea-vet v0.2.3 h1:gdFmm6WOTM65rE8FUBTRzeQZYzXePKSSB1+r574hWwI=
@ -51,8 +51,8 @@ github.com/docker/cli v25.0.3+incompatible h1:KLeNs7zws74oFuVhgZQ5ONGZiXUUdgsdy6
github.com/docker/cli v25.0.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
github.com/docker/docker v25.0.6+incompatible h1:5cPwbwriIcsua2REJe8HqQV+6WlWc1byg2QSXzBxBGg=
github.com/docker/docker v25.0.6+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/docker v25.0.7+incompatible h1:PQhcun5/OF7p0mZlDu3ud9APyyJi01R6/7hrBymWhhQ=
github.com/docker/docker v25.0.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/docker-credential-helpers v0.8.0 h1:YQFtbBQb4VrpoPxhFuzEBPQ9E16qz5SpHLS+uswaCp8=
github.com/docker/docker-credential-helpers v0.8.0/go.mod h1:UGFXcuoQ5TxPiB54nHOZ32AWRqQdECoh/Mg0AlEYb40=
github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c=
@ -186,8 +186,8 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/timshannon/bolthold v0.0.0-20210913165410-232392fc8a6a h1:oIi7H/bwFUYKYhzKbHc+3MvHRWqhQwXVB4LweLMiVy0=
github.com/timshannon/bolthold v0.0.0-20210913165410-232392fc8a6a/go.mod h1:iSvujNDmpZ6eQX+bg/0X3lF7LEmZ8N77g2a/J/+Zt2U=
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
@ -274,15 +274,15 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s=
golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU=
golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@ -292,8 +292,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U=
golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg=
golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200325010219-a49f79bcc224/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
@ -314,8 +314,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b h1:
google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc=
google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=
google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk=
google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=

View file

@ -73,11 +73,8 @@ func runDaemon(ctx context.Context, configFile *string) func(cmd *cobra.Command,
if err := envcheck.CheckIfDockerRunning(ctx, dockerSocketPath); err != nil {
return err
}
// if dockerSocketPath passes the check, override DOCKER_HOST with dockerSocketPath
os.Setenv("DOCKER_HOST", dockerSocketPath)
// empty cfg.Container.DockerHost means act_runner need to find an available docker host automatically
// and assign the path to cfg.Container.DockerHost
if cfg.Container.DockerHost == "" {
if cfg.Container.DockerHost == "automount" {
cfg.Container.DockerHost = dockerSocketPath
}
// check the scheme, if the scheme is not npipe or unix
@ -186,7 +183,7 @@ var commonSocketPaths = []string{
func getDockerSocketPath(configDockerHost string) (string, error) {
// a `-` means don't mount the docker socket to job containers
if configDockerHost != "" && configDockerHost != "-" {
if configDockerHost != "automount" && configDockerHost != "-" {
return configDockerHost, nil
}

View file

@ -418,7 +418,9 @@ func runExec(ctx context.Context, execArgs *executeArgs) func(cmd *cobra.Command
config.Env["ACT_EXEC"] = "true"
if t := config.Secrets["GITEA_TOKEN"]; t != "" {
if t := config.Secrets["FORGEJO_TOKEN"]; t != "" {
config.Token = t
} else if t := config.Secrets["GITEA_TOKEN"]; t != "" {
config.Token = t
} else if t := config.Secrets["GITHUB_TOKEN"]; t != "" {
config.Token = t

View file

@ -0,0 +1,24 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package run
import (
"io"
log "github.com/sirupsen/logrus"
)
// NullLogger is used to create a new JobLogger to discard logs. This
// will prevent these logs from being logged to the stdout, but
// forward them to the Reporter via its hook.
type NullLogger struct{}
// WithJobLogger creates a new logrus.Logger that will discard all logs.
func (n NullLogger) WithJobLogger() *log.Logger {
logger := log.New()
logger.SetOutput(io.Discard)
logger.SetLevel(log.TraceLevel)
return logger
}

View file

@ -168,7 +168,9 @@ func (r *Runner) run(ctx context.Context, task *runnerv1.Task, reporter *report.
RepositoryOwner: taskContext["repository_owner"].GetStringValue(),
RetentionDays: taskContext["retention_days"].GetStringValue(),
}
if t := task.Secrets["GITEA_TOKEN"]; t != "" {
if t := task.Secrets["FORGEJO_TOKEN"]; t != "" {
preset.Token = t
} else if t := task.Secrets["GITEA_TOKEN"]; t != "" {
preset.Token = t
} else if t := task.Secrets["GITHUB_TOKEN"]; t != "" {
preset.Token = t
@ -217,7 +219,7 @@ func (r *Runner) run(ctx context.Context, task *runnerv1.Task, reporter *report.
NoSkipCheckout: true,
PresetGitHubContext: preset,
EventJSON: string(eventJSON),
ContainerNamePrefix: fmt.Sprintf("GITEA-ACTIONS-TASK-%d", task.Id),
ContainerNamePrefix: fmt.Sprintf("FORGEJO-ACTIONS-TASK-%d", task.Id),
ContainerMaxLifetime: maxLifetime,
ContainerNetworkMode: container.NetworkMode(r.cfg.Container.Network),
ContainerNetworkEnableIPv6: r.cfg.Container.EnableIPv6,
@ -232,6 +234,15 @@ func (r *Runner) run(ctx context.Context, task *runnerv1.Task, reporter *report.
Inputs: inputs,
}
if r.cfg.Log.JobLevel != "" {
level, err := log.ParseLevel(r.cfg.Log.JobLevel)
if err != nil {
return err
}
runnerConfig.JobLoggerLevel = &level
}
rr, err := runner.New(runnerConfig)
if err != nil {
return err
@ -243,6 +254,10 @@ func (r *Runner) run(ctx context.Context, task *runnerv1.Task, reporter *report.
// add logger recorders
ctx = common.WithLoggerHook(ctx, reporter)
if !log.IsLevelEnabled(log.DebugLevel) {
ctx = runner.WithJobLoggerFactory(ctx, NullLogger{})
}
execErr := executor(ctx)
reporter.SetOutputs(job.Outputs)
return execErr

View file

@ -1,11 +1,13 @@
# Example configuration file, it's safe to copy this as the default config file without any modification.
# You don't have to copy this file to your instance,
# just run `./act_runner generate-config > config.yaml` to generate a config file.
# just run `forgejo-runner generate-config > config.yaml` to generate a config file.
log:
# The level of logging, can be trace, debug, info, warn, error, fatal
level: info
# The level of logging for jobs, can be trace, debug, info, earn, error, fatal
job_level: info
runner:
# Where to store the registration result.
@ -40,7 +42,7 @@ runner:
# The labels of a runner are used to determine which jobs the runner can run, and how to run them.
# Like: ["macos-arm64:host", "ubuntu-latest:docker://node:20-bookworm", "ubuntu-22.04:docker://node:20-bookworm"]
# If it's empty when registering, it will ask for inputting labels.
# If it's empty when execute `deamon`, will use labels in `.runner` file.
# If it's empty when executing the `daemon`, it will use labels in the `.runner` file.
labels: []
cache:
@ -57,8 +59,8 @@ cache:
# 0 means to use a random available port.
port: 0
# The external cache server URL. Valid only when enable is true.
# If it's specified, act_runner will use this URL as the ACTIONS_CACHE_URL rather than start a server by itself.
# The URL should generally end with "/".
# If it's specified, it will be used to set the ACTIONS_CACHE_URL environment variable. The URL should generally end with "/".
# Otherwise it will be set to the the URL of the internal cache server.
external_server: ""
container:
@ -87,10 +89,10 @@ container:
# - '**'
valid_volumes: []
# overrides the docker client host with the specified one.
# If it's empty, act_runner will find an available docker host automatically.
# If it's "-", act_runner will find an available docker host automatically, but the docker host won't be mounted to the job containers and service containers.
# If it's not empty or "-", the specified docker host will be used. An error will be returned if it doesn't work.
docker_host: ""
# If "-" or "", an available docker host will automatically be found.
# If "automount", an available docker host will automatically be found and mounted in the job container (e.g. /var/run/docker.sock).
# Otherwise the specified docker host will be used and an error will be returned if it doesn't work.
docker_host: "-"
# Pull docker image(s) even if already present
force_pull: false

View file

@ -17,6 +17,7 @@ import (
// Log represents the configuration for logging.
type Log struct {
Level string `yaml:"level"` // Level indicates the logging level.
JobLevel string `yaml:"job_level"` // JobLevel indicates the job logging level.
}
// Runner represents the configuration for the runner.
@ -113,6 +114,9 @@ func LoadDefault(file string) (*Config, error) {
if cfg.Log.Level == "" {
cfg.Log.Level = "info"
}
if cfg.Log.JobLevel == "" {
cfg.Log.JobLevel = "info"
}
if cfg.Runner.File == "" {
cfg.Runner.File = ".runner"
}
@ -149,6 +153,10 @@ func LoadDefault(file string) (*Config, error) {
cfg.Runner.ReportInterval = time.Second
}
if cfg.Container.DockerHost == "" {
cfg.Container.DockerHost = "-"
}
// although `container.network_mode` will be deprecated, but we have to be compatible with it for now.
if cfg.Container.NetworkMode != "" && cfg.Container.Network == "" {
log.Warn("You are trying to use deprecated configuration item of `container.network_mode`, please use `container.network` instead.")

View file

@ -35,3 +35,11 @@ func TestConfigTune(t *testing.T) {
assert.EqualValues(t, 2*time.Second, c.Runner.FetchInterval)
})
}
func TestDefaultSettings(t *testing.T) {
config, err := LoadDefault("")
assert.NoError(t, err)
assert.EqualValues(t, config.Container.DockerHost, "-")
assert.EqualValues(t, config.Log.JobLevel, "info")
}

View file

@ -13,10 +13,7 @@ import (
func CheckIfDockerRunning(ctx context.Context, configDockerHost string) error {
opts := []client.Opt{
client.FromEnv,
}
if configDockerHost != "" {
opts = append(opts, client.WithHost(configDockerHost))
client.WithHost(configDockerHost),
}
cli, err := client.NewClientWithOpts(opts...)

View file

@ -1,6 +1,7 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["local>forgejo/renovate-config"],
"prConcurrentLimit": 1,
"packageRules": [
{
"description": "Disable nektos/act, it's replaced",