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

1811 commits

Author SHA1 Message Date
Jason Song
3322bc0cda fix: panic 2023-10-31 22:32:21 +08:00
dependabot[bot]
1a0ca2c6ae build(deps): bump megalinter/megalinter from 7.4.0 to 7.5.0 (#2070)
Bumps [megalinter/megalinter](https://github.com/megalinter/megalinter) from 7.4.0 to 7.5.0.
- [Release notes](https://github.com/megalinter/megalinter/releases)
- [Changelog](https://github.com/oxsecurity/megalinter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/megalinter/megalinter/compare/v7.4.0...v7.5.0)

---
updated-dependencies:
- dependency-name: megalinter/megalinter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-10-30 03:16:31 +00:00
Earl Warren
1917d803a8 [FORGEJO] allow pull requests to cascade (#97)
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/97
Reviewed-by: dachary <dachary@noreply.code.forgejo.org>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
2023-10-29 17:49:00 +00:00
earl-warren
7e9d43667b Merge pull request '[FORGEJO] cosmetic change' (#96) from wip-cascading-pr into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/96
2023-10-24 22:44:39 +00:00
Earl Warren
83572c5c71
store time of last upgrade 2023-10-25 00:35:51 +02:00
Earl Warren
0863f48c7e
cascade-setup-forgejo: close when the PR is merged 2023-10-25 00:09:48 +02:00
Earl Warren
d4bcd15847
[FORGEJO] cosmetic change 2023-10-23 00:12:03 +02:00
Sam Foo
2de6a8e3aa Add support for service containers (#1949)
* Support services (#42)

Removed createSimpleContainerName and AutoRemove flag

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Jason Song <i@wolfogre.com>
Reviewed-on: https://gitea.com/gitea/act/pulls/42
Reviewed-by: Jason Song <i@wolfogre.com>
Co-authored-by: Zettat123 <zettat123@gmail.com>
Co-committed-by: Zettat123 <zettat123@gmail.com>

* Support services options (#45)

Reviewed-on: https://gitea.com/gitea/act/pulls/45
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Zettat123 <zettat123@gmail.com>
Co-committed-by: Zettat123 <zettat123@gmail.com>

* Support intepolation for `env` of `services` (#47)

Reviewed-on: https://gitea.com/gitea/act/pulls/47
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Zettat123 <zettat123@gmail.com>
Co-committed-by: Zettat123 <zettat123@gmail.com>

* Support services `credentials` (#51)

If a service's image is from a container registry requires authentication, `act_runner` will need `credentials` to pull the image, see [documentation](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idservicesservice_idcredentials).
Currently, `act_runner` incorrectly uses the `credentials` of `containers` to pull services' images and the `credentials` of services won't be used, see the related code: ba7ef95f06/pkg/runner/run_context.go (L228-L269)

Co-authored-by: Jason Song <i@wolfogre.com>
Reviewed-on: https://gitea.com/gitea/act/pulls/51
Reviewed-by: Jason Song <i@wolfogre.com>
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Zettat123 <zettat123@gmail.com>
Co-committed-by: Zettat123 <zettat123@gmail.com>

* Add ContainerMaxLifetime and ContainerNetworkMode options

from: 1d92791718

* Fix container network issue (#56)

Follow: https://gitea.com/gitea/act_runner/pulls/184
Close https://gitea.com/gitea/act_runner/issues/177

- `act` create new networks only if the value of `NeedCreateNetwork` is true, and remove these networks at last. `NeedCreateNetwork` is passed by `act_runner`. 'NeedCreateNetwork' is true only if  `container.network` in the configuration file of the `act_runner` is empty.
- In the `docker create` phase, specify the network to which containers will connect. Because, if not specify , container will connect to `bridge` network which is created automatically by Docker.
  - If the network is user defined network ( the value of `container.network` is empty or `<custom-network>`.  Because, the network created by `act` is also user defined network.), will also specify alias by `--network-alias`. The alias of service is `<service-id>`. So we can be access service container by `<service-id>:<port>` in the steps of job.
- Won't try to `docker network connect ` network after `docker start` any more.
  - Because on the one hand,  `docker network connect` applies only to user defined networks, if try to `docker network connect host <container-name>` will return error.
  - On the other hand, we just specify network in the stage of `docker create`, the same effect can be achieved.
- Won't try to remove containers and networks berfore  the stage of `docker start`, because the name of these containers and netwoks won't be repeat.

Co-authored-by: Jason Song <i@wolfogre.com>
Reviewed-on: https://gitea.com/gitea/act/pulls/56
Reviewed-by: Jason Song <i@wolfogre.com>
Co-authored-by: sillyguodong <gedong_1994@163.com>
Co-committed-by: sillyguodong <gedong_1994@163.com>

* Check volumes (#60)

This PR adds a `ValidVolumes` config. Users can specify the volumes (including bind mounts) that can be mounted to containers by this config.

Options related to volumes:
- [jobs.<job_id>.container.volumes](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idcontainervolumes)
- [jobs.<job_id>.services.<service_id>.volumes](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idservicesservice_idvolumes)

In addition, volumes specified by `options` will also be checked.

Currently, the following default volumes (see f78a6206d3/pkg/runner/run_context.go (L116-L166)) will be added to `ValidVolumes`:
- `act-toolcache`
- `<container-name>` and `<container-name>-env`
- `/var/run/docker.sock` (We need to add a new configuration to control whether the docker daemon can be mounted)

Co-authored-by: Jason Song <i@wolfogre.com>
Reviewed-on: https://gitea.com/gitea/act/pulls/60
Reviewed-by: Jason Song <i@wolfogre.com>
Co-authored-by: Zettat123 <zettat123@gmail.com>
Co-committed-by: Zettat123 <zettat123@gmail.com>

* Remove ContainerMaxLifetime; fix lint

* Remove unused ValidVolumes

* Remove ConnectToNetwork

* Add docker stubs

* Close docker clients to prevent file descriptor leaks

* Fix the error when removing network in self-hosted mode (#69)

Fixes https://gitea.com/gitea/act_runner/issues/255

Reviewed-on: https://gitea.com/gitea/act/pulls/69
Co-authored-by: Zettat123 <zettat123@gmail.com>
Co-committed-by: Zettat123 <zettat123@gmail.com>

* Move service container and network cleanup to rc.cleanUpJobContainer

* Add --network flag; default to host if not using service containers or set explicitly

* Correctly close executor to prevent fd leak

* Revert to tail instead of full path

* fix network duplication

* backport networkingConfig for aliaes

* don't hardcode netMode host

* Convert services test to table driven tests

* Add failing tests for services

* Expose service container ports onto the host

* Set container network mode in artifacts server test to host mode

* Log container network mode when creating/starting a container

* fix: Correctly handle ContainerNetworkMode

* fix: missing service container network

* Always remove service containers

Although we usually keep containers running if the workflow errored
(unless `--rm` is given) in order to facilitate debugging and we have
a flag (`--reuse`) to always keep containers running in order to speed
up repeated `act` invocations, I believe that these should only apply
to job containers and not service containers, because changing the
network settings on a service container requires re-creating it anyway.

* Remove networks only if no active endpoints exist

* Ensure job containers are stopped before starting a new job

* fix: go build -tags WITHOUT_DOCKER

---------

Co-authored-by: Zettat123 <zettat123@gmail.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Jason Song <i@wolfogre.com>
Co-authored-by: sillyguodong <gedong_1994@163.com>
Co-authored-by: ChristopherHX <christopher.homberger@web.de>
Co-authored-by: ZauberNerd <zaubernerd@zaubernerd.de>
2023-10-19 09:24:52 +00:00
Earl Warren
62db322759 [FORGEJO] instructions for end to end testing of the runner (#95)
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/95
Reviewed-by: dachary <dachary@noreply.code.forgejo.org>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
2023-10-15 17:24:13 +00:00
Earl Warren
9efc297f1f [FORGEJO] workflow cascading-pr to setup-forgejo (#93)
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/93
Reviewed-by: dachary <dachary@noreply.code.forgejo.org>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
2023-10-15 16:37:51 +00:00
Earl Warren
b5b83fd62b
only run CI on the main branch + pull_request 2023-10-15 18:08:27 +02:00
Earl Warren
a441c04a13 [FORGEJO] update the setup-forgejo instructions to use utils/upgrade-runner.sh (#94)
this is less error prone and less manual steps

Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/94
Reviewed-by: dachary <dachary@noreply.code.forgejo.org>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
2023-10-14 22:03:53 +00:00
Jon Jensen
82d61eaf05 Fix float formatting (#2018)
Format floats the same way as actions/runner (precision 15, remove
trailing zeroes)

See: 67d70803a9/src/Sdk/DTObjectTemplating/ObjectTemplating/Tokens/NumberToken.cs (L34)
2023-10-13 20:01:04 +00:00
Lunny Xiao
c482708a26 Merge pull request 'bump nektos to 0.2.52' (#79) from bump-nektos into main
Reviewed-on: https://gitea.com/gitea/act/pulls/79
Reviewed-by: John Olheiser <john+gitea@jolheiser.com>
2023-10-13 01:20:21 +00:00
techknowlogick
b2f90e32b0 Merge remote-tracking branch 'upstream/master' into bump-nektos 2023-10-11 15:28:38 -04:00
earl-warren
7b73082ea2 Merge pull request 'examples/docker-compose: add Quick Start' (#91) from earl-warren/runner:wip-dind into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/91
Reviewed-by: dachary <dachary@noreply.code.forgejo.org>
2023-10-10 16:06:49 +00:00
Earl Warren
b3f32e59af
examples/docker-compose: add Quick Start 2023-10-06 16:56:24 +02:00
earl-warren
513a5eb80e Merge pull request 'examples/docker-compose: network: host is required' (#90) from earl-warren/runner:wip-upgrade-example into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/90
Reviewed-by: dachary <dachary@noreply.code.forgejo.org>
2023-10-06 14:46:59 +00:00
Earl Warren
9cb0716425
examples/docker-compose: fix false positive
because of the -x the success string was always in the output and the
workflow .forgejo/workflows/example-docker-compose.yml would always
report success, even if it fails
2023-10-06 16:40:21 +02:00
Earl Warren
bf11dac848
examples/docker-compose: network: host is required
otherwise a network will be created with no route to the forgejo
instance and a checkout will fail to reach it
2023-10-06 16:22:03 +02:00
Earl Warren
e8448e3807
examples/docker-compose: upgrade to runner 3.0.1 2023-10-06 16:22:03 +02:00
earl-warren
29fff564cd Merge pull request 'run example workflow on pull_request_target as well' (#89) from earl-warren/runner:wip-upgrade-example into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/89
Reviewed-by: dachary <dachary@noreply.code.forgejo.org>
2023-10-06 10:24:55 +00:00
Earl Warren
924748200e
run example workflow on pull_request_target as well 2023-10-06 12:22:41 +02:00
earl-warren
8de0ce42b9 Merge pull request 'upgrade examples/docker-compose with runner 3.0.1 & Forgejo 1.20.4-1' (#88) from earl-warren/runner:wip-upgrade-example into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/88
Reviewed-by: dachary <dachary@noreply.code.forgejo.org>
2023-10-06 10:21:27 +00:00
Earl Warren
716eca31e9
upgrade examples/docker-compose with runner 3.0.1 & Forgejo 1.20.4-1 2023-10-06 12:14:13 +02:00
earl-warren
00da0ada8b Merge pull request 'upgrade to act v1.11.0' (#86) from earl-warren/runner:wip-act-update into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/86
2023-10-04 14:31:34 +00:00
Earl Warren
d608ad6210
update release notes for 3.0.1 2023-10-04 16:07:50 +02:00
Earl Warren
bbc80cb926
upgrade to act v1.11.0 2023-10-04 16:00:22 +02:00
earl-warren
70f6c8bf21 Merge pull request 'upgrade tests to use v1.20.4-1' (#85) from earl-warren/runner:wip-test-upgrade into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/85
Reviewed-by: dachary <dachary@noreply.code.forgejo.org>
2023-10-04 12:56:08 +00:00
Earl Warren
b6bc471f38
upgrade tests to use v1.20.4-1 2023-10-04 14:54:42 +02:00
ChristopherHX
02aa47db9e fix action_ref (composite action) (#2020)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-10-03 23:13:05 +00:00
ChristopherHX
c76b40fc00 fix: use actions/runner hashfiles in container (#1940)
* fix: use actions/runner hashfiles in container

Previously hashfiles ran on the host,
this don't work for container generated content

* fix: lint

* fix: lint

* fix assign follow symlink flag

Co-authored-by: Jason Song <i@wolfogre.com>

---------

Co-authored-by: Jason Song <i@wolfogre.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-10-03 22:56:18 +00:00
ChristopherHX
0ffde9b022 Fix image survey for large images (#2022)
ubuntu 22.04 based large image is now available

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-10-03 22:39:49 +00:00
dachary
8e93b0e8e8 Merge pull request 'secure the docker-compose example and explain the difference with the token' (#77) from earl-warren/runner:wip-docs into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/77
2023-09-30 14:19:49 +00:00
dependabot[bot]
e565d8cfa3 build(deps): bump megalinter/megalinter from 7.3.0 to 7.4.0 (#2025)
Bumps [megalinter/megalinter](https://github.com/megalinter/megalinter) from 7.3.0 to 7.4.0.
- [Release notes](https://github.com/megalinter/megalinter/releases)
- [Changelog](https://github.com/oxsecurity/megalinter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/megalinter/megalinter/compare/v7.3.0...v7.4.0)

---
updated-dependencies:
- dependency-name: megalinter/megalinter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-25 03:06:54 +00:00
techknowlogick
756db53bab Merge nektos/act/v0.2.51 2023-09-24 15:09:26 -04:00
dependabot[bot]
351abeb3b4 build(deps): bump docker/setup-qemu-action from 2 to 3 (#2007)
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-09-18 02:33:21 +00:00
dependabot[bot]
7f00abfad8 build(deps): bump goreleaser/goreleaser-action from 4 to 5 (#2008)
Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 4 to 5.
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](https://github.com/goreleaser/goreleaser-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: goreleaser/goreleaser-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-18 02:15:28 +00:00
Oliver Bell
7a470ff949 feat: support node20 runtime (#1988)
* feat: support node20

* fix

* more fixes

* maybe final fixes?

* format
2023-09-15 02:24:46 +00:00
Elian Doran
3b61c0cd55 feat: support interpolation in <job>.container.options (#1958) 2023-09-12 06:35:25 -07:00
Earl Warren
a379783994 document the secret and how it is different from the token 2023-09-08 18:19:34 +00:00
dachary
b1bfa4968e Merge pull request 'add links to workflow examples' (#78) from earl-warren/runner:wip-other-docs into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/78
2023-09-04 17:15:48 +00:00
Earl Warren
d556450664
add links to workflow examples 2023-09-04 19:04:46 +02:00
earl-warren
830ad470aa Merge pull request 'update the examples documentation' (#75) from earl-warren/runner:wip-docs into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/75
2023-08-28 10:21:03 +00:00
earl-warren
7bf25c2559 Merge pull request '[FORGEJO] all containers are rootless, no suffixes' (#74) from earl-warren/runner:wip-rootless into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/74
2023-08-28 10:20:25 +00:00
Earl Warren
294912488c
update kubernetes examples to match version 3.0.0 images
Starting with Forgejo runner 3.0.0 images are different in two ways
that matter to k8s because they:

* are all rootless
* do not rely on tini
2023-08-26 12:19:06 +02:00
Earl Warren
9d79a0b92d
cleanup the examples section, remove unsupported elements 2023-08-26 12:18:42 +02:00
Earl Warren
b9e3e5b62d
README: the documentation is part of the Forgejo documentation 2023-08-26 12:15:27 +02:00
earl-warren
8d49cc7e27 Merge pull request 'docker-compose example' (#72) from earl-warren/runner:wip-dind into main
Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/72
2023-08-26 09:54:39 +00:00
Earl Warren
deefb19f21
example docker compose file and test 2023-08-26 11:52:19 +02:00