Commit graph

32 commits

Author SHA1 Message Date
Freso
f4eb8e57fb
feat: add pre-commit hook for validator (#1002)
This will allow users to validate their Forgejo Actions files (both actions and workflows) prior to committing them to their repositories, using a `pre-commit` configuration similar to
```yaml
  - repo: https://code.forgejo.org/forgejo/runner
    rev: v11.1.0
    hooks:
      - id: forgejo-runner-validate
```

<!--start release-notes-assistant-->
<!--URL:https://code.forgejo.org/forgejo/runner-->
- features
  - [PR](https://code.forgejo.org/forgejo/runner/pulls/1002): <!--number 1002 --><!--line 0 --><!--description ZmVhdDogYWRkIHByZS1jb21taXQgaG9vayBmb3IgdmFsaWRhdG9y-->feat: add pre-commit hook for validator<!--description-->
<!--end release-notes-assistant-->

Co-authored-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/1002
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
Co-authored-by: Freso <freso@noreply.code.forgejo.org>
Co-committed-by: Freso <freso@noreply.code.forgejo.org>
2025-09-18 08:08:57 +00:00
Earl Warren
6877142ba4
chore: minimal integration test for the LXC backend 2025-09-15 16:14:11 +02:00
Earl Warren
3585d67743
chore: unify actions URLs in .forgejo/workflows (#993)
- make them all absolute
- use data.forgejo.org instead of code.forgejo.org

This allows renovate to propose more consistent updates.

<!--start release-notes-assistant-->
<!--URL:https://code.forgejo.org/forgejo/runner-->
- other
  - [PR](https://code.forgejo.org/forgejo/runner/pulls/993): <!--number 993 --><!--line 0 --><!--description Y2hvcmU6IHVuaWZ5IGFjdGlvbnMgVVJMcyBpbiAuZm9yZ2Vqby93b3JrZmxvd3M=-->chore: unify actions URLs in .forgejo/workflows<!--description-->
<!--end release-notes-assistant-->

Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/993
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>
2025-09-13 17:35:56 +00:00
Earl Warren
8a44eb421f
chore: do not force GOPROXY (#899)
let `setup-go` figure it out

<!--start release-notes-assistant-->
<!--URL:https://code.forgejo.org/forgejo/runner-->
- other
  - [PR](https://code.forgejo.org/forgejo/runner/pulls/899): <!--number 899 --><!--line 0 --><!--description Y2hvcmU6IGRvIG5vdCBmb3JjZSBHT1BST1hZ-->chore: do not force GOPROXY<!--description-->
<!--end release-notes-assistant-->

Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/899
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>
2025-08-21 11:53:48 +00:00
Mathieu Fenniak
55c873f360 add gcc package for cgo/-race 2025-08-20 15:06:59 -06:00
Mathieu Fenniak
528bb594af test: enable data race detector in CI-executed tests 2025-08-20 14:56:42 -06:00
Mathieu Fenniak
91e7940947
test: add an integration test for embedded runner cache (#889)
Adds a limited integration test in the runner which verifies that the embedded cache server starts up, can be written to by an action, and can be read by a subsequent action.  This is a solid base foundation for future nearly-end-to-end tests.

<!--start release-notes-assistant-->
<!--URL:https://code.forgejo.org/forgejo/runner-->
- other
  - [PR](https://code.forgejo.org/forgejo/runner/pulls/889): <!--number 889 --><!--line 0 --><!--description dGVzdDogYWRkIGFuIGludGVncmF0aW9uIHRlc3QgZm9yIGVtYmVkZGVkIHJ1bm5lciBjYWNoZQ==-->test: add an integration test for embedded runner cache<!--description-->
<!--end release-notes-assistant-->

Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/889
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
Co-authored-by: Mathieu Fenniak <mathieu@fenniak.net>
Co-committed-by: Mathieu Fenniak <mathieu@fenniak.net>
2025-08-20 19:46:03 +00:00
Earl Warren
22762480d8
chore: merge ACT and runner unit & integration tests together (#894)
When run in parallel they will race to populate the Go cache in a different way (GOPROXY is not configured the same) and that will lead to transient errors when one job tries to use the cache that is populated differently by the other job.

The chain of `needs` is adjusted accordingly and the required checks too.

![image](/attachments/4b83fc9d-d5f8-497e-9e94-976fcf52f088)

<!--start release-notes-assistant-->
<!--URL:https://code.forgejo.org/forgejo/runner-->
- other
  - [PR](https://code.forgejo.org/forgejo/runner/pulls/894): <!--number 894 --><!--line 0 --><!--description Y2hvcmU6IG1lcmdlIEFDVCBhbmQgcnVubmVyIHVuaXQgJiBpbnRlZ3JhdGlvbiB0ZXN0cyB0b2dldGhlcg==-->chore: merge ACT and runner unit & integration tests together<!--description-->
<!--end release-notes-assistant-->

Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/894
Reviewed-by: Mathieu Fenniak <mfenniak@noreply.code.forgejo.org>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
2025-08-20 17:09:04 +00:00
Earl Warren
8ce7965030
chore: when comparing mockery generated files, ignore the version (#891)
Refs https://code.forgejo.org/forgejo/runner/actions/runs/7645/jobs/2#jobstep-4-8

<!--start release-notes-assistant-->
<!--URL:https://code.forgejo.org/forgejo/runner-->
- other
  - [PR](https://code.forgejo.org/forgejo/runner/pulls/891): <!--number 891 --><!--line 0 --><!--description Y2hvcmU6IHdoZW4gY29tcGFyaW5nIG1vY2tlcnkgZ2VuZXJhdGVkIGZpbGVzLCBpZ25vcmUgdGhlIHZlcnNpb24=-->chore: when comparing mockery generated files, ignore the version<!--description-->
<!--end release-notes-assistant-->

Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/891
Reviewed-by: Mathieu Fenniak <mfenniak@noreply.code.forgejo.org>
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>
2025-08-20 14:36:44 +00:00
Michael Kriese
6d2cc80aa1
chore: revert mockery v3 update and validate mockery updates (#886)
- reverts #841 and #868
- add ci to validate mock changes
- https://code.forgejo.org/forgejo/runner/pulls/841#issuecomment-53111

<!--start release-notes-assistant-->
<!--URL:https://code.forgejo.org/forgejo/runner-->
- other
  - [PR](https://code.forgejo.org/forgejo/runner/pulls/886): <!--number 886 --><!--line 0 --><!--description Y2hvcmU6IHJldmVydCBtb2NrZXJ5IHYzIHVwZGF0ZSBhbmQgdmFsaWRhdGUgbW9ja2VyeSB1cGRhdGVz-->chore: revert mockery v3 update and validate mockery updates<!--description-->
<!--end release-notes-assistant-->

Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/886
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
Co-committed-by: Michael Kriese <michael.kriese@visualon.de>
2025-08-18 14:22:48 +00:00
Earl Warren
83e7b4ae10
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>
2025-08-03 08:34:09 +00:00
Earl Warren
805d83e974
chore: unify forgejo image names location (#797)
<!--start release-notes-assistant-->
<!--URL:https://code.forgejo.org/forgejo/runner-->
- other
  - [PR](https://code.forgejo.org/forgejo/runner/pulls/797): <!--number 797 --><!--line 0 --><!--description Y2hvcmU6IHVuaWZ5IGZvcmdlam8gaW1hZ2UgbmFtZXMgbG9jYXRpb24=-->chore: unify forgejo image names location<!--description-->
<!--end release-notes-assistant-->

Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/797
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
2025-08-02 22:05:15 +00:00
Earl Warren
e81664ec7b
chore(ci): schema validation for the test workflow 2025-07-27 06:41:29 +02:00
Earl Warren
01e4828ab6
chore: s/GITHUB_*/FORGEJO_*/ & s/github./forge./ (#682)
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/682
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>
2025-07-10 14:41:49 +00:00
Earl Warren
51e0bc0e53
feat: support for forgejo-exec --var (#645)
Refs forgejo/runner#387

https://code.forgejo.org/forgejo/runner/actions/runs/4284/jobs/1#jobstep-6-25

![image](/attachments/cf804b2b-e4c3-46a8-afac-27cfdb1fe6c2)

Co-authored-by: lautriva <lautriva@noreply.gitea.com>
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/645
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>
2025-07-03 16:37:30 +00:00
Earl Warren
d37ecf1fa3
chore(ci): enable-email-notifications: true on all workflows (#624)
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/624
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>
2025-06-30 08:55:10 +00:00
Earl Warren
c4c0ca0b43
fix: use v11 for the docker-compose example (#542)
It matters because /bin/s6-svscan changed to /usr/bin/s6-svscan from v10 to v11 and it would fail in a confusing way if the admin tries to upgrade from v9 to v11.

Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/542
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
2025-04-18 08:14:31 +00:00
Earl Warren
74dc687c1d
chore(ci): no complaints if the Go version is higher than required (#490)
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/490
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>
2025-02-25 09:47:45 +00:00
Renovate Bot
f351e7a7b1
Update dependency forgejo-lxc to v12 2024-12-09 14:31:33 +00:00
Michael Kriese
b34efbce8b
ci: use new ci image 2024-12-04 21:02:16 +01:00
Michael Kriese
055854d1d7
build: use go toolchain 2024-12-04 10:12:38 +01:00
Michael Kriese
edd867dc16
ci: use our cached oci images 2024-11-20 10:50:07 +01: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
b4aba5f688
tests: it make take time for Forgejo to come up 2024-11-12 14:40:06 +01:00
Michael Kriese
4ddd8a4ce8
ci: use go-version-file 2024-11-12 11:48:32 +01:00
Renovate Bot
0aed67ae69
Update actions/setup-go action to v5 2024-11-12 10:05:45 +00:00
Earl Warren
d7e471a392
IPv6 tests 2023-12-04 17:54:25 +01:00
Earl Warren
b5b83fd62b
only run CI on the main branch + pull_request 2023-10-15 18:08:27 +02:00
Earl Warren
b6bc471f38
upgrade tests to use v1.20.4-1 2023-10-04 14:54:42 +02:00
Earl Warren
d4eb913533
[FORGEJO] use alpine 3.18
Refs: https://github.com/nektos/act/issues/1908

Bump Docker dependency

See https://code.forgejo.org/forgejo/act/pulls/9 for more info.

Use forked act change branch

Bump version

Use forgejo fork v1.9.0

Revert #50

Now that https://code.forgejo.org/forgejo/runner/pulls/64 has been
merged we should be good to go.

Remove pinned go version in test workflow

Bump Go version to 1.21
2023-08-23 16:03:12 +02:00
Earl Warren
5a1ea04ce8
[FORGEJO] add the create-runner-file 2023-08-23 16:03:12 +02:00
Earl Warren
e613ab40a5
[FORGEJO] workflows 2023-08-23 14:46:28 +02:00