Commit graph

334 commits

Author SHA1 Message Date
sillyguodong
0d71463662 Inject version when building and report version to Gitea via log and header (#43)
close #42
1. Inject runner version when `make build`
After building, executing command line: `./act_runner -v` or `./act_runner --version`, the version of runner is printed.
![image](/attachments/e25efbd3-79b3-49a5-b93f-42646d42c707)

2. In `Actions` UI:
![image](/attachments/36c57470-2a1d-4796-9eb0-de3988ab88e1)

3. Set request header in http client interceptor.

Co-authored-by: sillyguodong <gedong_1994@163.com>
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/43
Reviewed-by: delvh <dev.lh@web.de>
Reviewed-by: Jason Song <i@wolfogre.com>
Co-authored-by: sillyguodong <sillyguodong@noreply.gitea.io>
Co-committed-by: sillyguodong <sillyguodong@noreply.gitea.io>
2023-03-13 18:57:35 +08:00
HesterG
ebcf341de7 Fix wrong last step duration when job failed (#41)
This PR is to fix the wrong last step duration when job failed like shown in the screenshot.
The reason is because when job failed, `Fire` function did not pass in Time, and `r.state.StoppedAt` is by default set to `0001-01-01 08:05:43 +0805 LMT`, which is later on reported to gitea by `UpdateTask`, which calls `UpdateTaskByState` to update the `task.Stopped`, and `task.Stopped` is used in `FullSteps`, resulting in wrong calcaulation of last step duration.

Co-authored-by: nickname <test@123.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/41
Reviewed-by: Jason Song <i@wolfogre.com>
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: HesterG <hesterg@noreply.gitea.io>
Co-committed-by: HesterG <hesterg@noreply.gitea.io>
2023-03-08 21:32:54 +08:00
a1012112796
14334f76ed Add exec subcommand for runner so that we can run the tasks locally(#39)
Most codes are copied from https://gitea.com/gitea/act/src/branch/main/cmd
and do some small changes to make it run again

examples:

```SHELL
./act_runner exec -l
./act_runner exec -j lint
./act_runner exec -j lint -n
```

some example result:

![屏幕截图 2023-03-06 135735](/attachments/547bd05c-ade2-41f7-ba60-c9937fa32d5f)

![屏幕截图 2023-03-06 140643](/attachments/e8f48dba-c7f3-4daa-a163-aa9b36b1dc32)

Signed-off-by: a1012112796 <1012112796@qq.com>

fix #32

Reviewed-on: https://gitea.com/gitea/act_runner/pulls/39
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-by: Jason Song <i@wolfogre.com>
Co-authored-by: a1012112796 <1012112796@qq.com>
Co-committed-by: a1012112796 <1012112796@qq.com>
2023-03-08 10:55:31 +08:00
Zettat123
f24e0721dc Add runner name to log (#37)
User can get the name of the runner that executed the specified job.
![image](/attachments/61328f68-7223-4345-85c7-ac08781e81db)

Co-authored-by: Zettat123 <zettat123@gmail.com>
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/37
Reviewed-by: Jason Song <i@wolfogre.com>
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Zettat123 <zettat123@noreply.gitea.io>
Co-committed-by: Zettat123 <zettat123@noreply.gitea.io>
2023-03-06 18:42:07 +08:00
ChristopherHX
e36300ce28 fix docker executor on windows and local actions (#34)
If the Workdir field doesn't ends with the filepath seperator,
bad things happen

Fixes #33

Sample for host mode on windows, needs be adjusted for linux e.g. replace pwsh with bash
Also fixes
```yaml
on: push
jobs:
  _:
    runs-on: self-hosted
    steps:
    - uses: actions/checkout@v3
      with:
        path: subdir/action
    - uses: ./subdir/action
```

with an action.yml in the same repo
```yaml
runs:
  using: composite
  steps:
    - run: |
        echo "Hello World"
      shell: pwsh
```

Co-authored-by: Christopher Homberger <christopher.homberger@web.de>
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/34
Reviewed-by: Jason Song <i@wolfogre.com>
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: ChristopherHX <christopherhx@noreply.gitea.io>
Co-committed-by: ChristopherHX <christopherhx@noreply.gitea.io>
2023-03-06 13:24:32 +08:00
techknowlogick
09ddbe166f disable more arch 2023-03-01 13:00:18 +08:00
techknowlogick
da0713e629 disable arch that modernc does not support 2023-03-01 12:50:50 +08:00
techknowlogick
bbd055ac3b run nightly on ubuntu runner 2023-03-01 12:32:00 +08:00
techknowlogick
462b2660de disable arches that modernc/sqlite don't complie for 2023-03-01 12:31:27 +08:00
techknowlogick
ebdbfeb54a fix lint error (#30)
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/30
Reviewed-by: John Olheiser <john+gitea@jolheiser.com>
2023-03-01 06:40:20 +08:00
Jason Song
436b441cad Support cache (#25)
See [Caching dependencies to speed up workflows](https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows).

Reviewed-on: https://gitea.com/gitea/act_runner/pulls/25
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-by: Zettat123 <zettat123@noreply.gitea.io>
Co-authored-by: Jason Song <i@wolfogre.com>
Co-committed-by: Jason Song <i@wolfogre.com>
2023-02-28 23:39:30 +08:00
sillyguodong
552dbcdda9 Add copyright header and gitea-vet (#29)
Add copyright header

Co-authored-by: sillyguodong <gedong_1994@163.com>
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/29
Reviewed-by: Jason Song <i@wolfogre.com>
Reviewed-by: Zettat123 <zettat123@noreply.gitea.io>
Co-authored-by: sillyguodong <sillyguodong@noreply.gitea.io>
Co-committed-by: sillyguodong <sillyguodong@noreply.gitea.io>
2023-02-28 18:44:46 +08:00
techknowlogick
a50b094c1a update env var 2023-02-27 15:30:35 +08:00
techknowlogick
6cc53f16d8 use aws runner 2023-02-27 14:42:57 +08:00
techknowlogick
8fcd56dc7b skip dist/config.yaml 2023-02-26 15:40:22 +08:00
techknowlogick
c9318f08e2 skip nightly publish 2023-02-26 15:39:22 +08:00
techknowlogick
c7f8919470 mkdir 2023-02-26 13:35:30 +08:00
techknowlogick
14dfa5cc15 s3 credentials 2023-02-26 13:34:26 +08:00
techknowlogick
99a53a1f4c release to s3 2023-02-26 13:00:36 +08:00
techknowlogick
df2219eeb8 use node16 version of aws cred config 2023-02-26 12:42:50 +08:00
techknowlogick
216f3d1740 connect to aws s3 2023-02-26 12:39:41 +08:00
techknowlogick
8aa186897f disable cache on golang setup 2023-02-26 12:24:49 +08:00
techknowlogick
3fa7707bc1 goreleaser needs go to build binary 2023-02-26 12:21:50 +08:00
techknowlogick
9038442191 pull tags for goreleaser 2023-02-26 12:20:47 +08:00
techknowlogick
c133be12d8 release nightly 2023-02-26 12:18:31 +08:00
techknowlogick
1072e3c383 Goreleaser build nightlies (#27)
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/27
2023-02-26 12:16:38 +08:00
Lunny Xiao
a4513405b5 Enable action as CI to test/build/release (#26)
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/26
2023-02-24 23:30:09 +08:00
Jason Song
410765b516 Upgrade act (#24)
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/24
2023-02-24 14:23:22 +08:00
Jason Song
06b9c3962e Upgrade act (#23)
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/23
2023-02-24 12:16:18 +08:00
Jason Song
0b64655a40 Upgrade act (#22)
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/22
2023-02-24 10:23:18 +08:00
Jason Song
75820a6a3e Upgrade act to v0.234.2 (#20)
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/20
2023-02-15 16:53:23 +08:00
Lunny Xiao
f1869f70b9 Allow request an insecure gitea server (#18)
When deploy a Gitea server with a self-signed HTTPS certification. Runner will be failed when connect to Gitea server. This PR will fix that to allow ignore the HTTPS certification verification.

Reviewed-on: https://gitea.com/gitea/act_runner/pulls/18
Reviewed-by: Jason Song <i@wolfogre.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-committed-by: Lunny Xiao <xiaolunwen@gmail.com>
2023-02-15 16:51:14 +08:00
ChristopherHX
990cf93c71 feat: don't require docker (#16)
The only reason docker is really required by now, is that act_runner ping docker.
This change only pings docker if a label with `docker://` is added to the runner.

Plain labels without `:` like `self-hosted` are run directly on the system. Previously the pseudo non docker label `-self-hosted` have been required like this `self-hosted:docker://-self-hosted`, but due to docker ping this still required a dockerd to be pingable.

Co-authored-by: Christopher Homberger <christopher.homberger@web.de>
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/16
Reviewed-by: Jason Song <i@wolfogre.com>
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: ChristopherHX <christopherhx@noreply.gitea.io>
Co-committed-by: ChristopherHX <christopherhx@noreply.gitea.io>
2023-01-27 20:42:02 +08:00
ChristopherHX
f7a52789d9 fix: report job failure on error return (#14)
act_runner only returns the error to the runner, but doesn't update the job result to failure.

Co-authored-by: Christopher Homberger <christopher.homberger@web.de>
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/14
Reviewed-by: Jason Song <i@wolfogre.com>
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: ChristopherHX <christopherhx@noreply.gitea.io>
Co-committed-by: ChristopherHX <christopherhx@noreply.gitea.io>
2023-01-27 20:18:12 +08:00
Jason Song
cf27d3f300 Update act to 0.234.1 (#12)
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/12
2023-01-06 18:32:01 +08:00
Xinyu Zhou
7abe039c31 docs: Add Prerequisites (#11)
Close #10

Docker daemon is required

Reviewed-on: https://gitea.com/gitea/act_runner/pulls/11
Reviewed-by: Jason Song <i@wolfogre.com>
Co-authored-by: Xinyu Zhou <i@sourcehut.net>
Co-committed-by: Xinyu Zhou <i@sourcehut.net>
2023-01-03 11:13:55 +08:00
Xinyu Zhou
9ba9604256 fix(typo): Use uppercase N for default input prompt (#9)
Runner is already registered, overwrite local config? [y/N]

Reviewed-on: https://gitea.com/gitea/act_runner/pulls/9
Reviewed-by: Jason Song <wolfogre@noreply.gitea.io>
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Xinyu Zhou <i@sourcehut.net>
Co-committed-by: Xinyu Zhou <i@sourcehut.net>
2022-12-19 09:06:24 +08:00
Jason Song
6d2200b3d6 Rename to actions (#7)
Co-authored-by: Jason Song <i@wolfogre.com>
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/7
2022-12-06 16:37:38 +08:00
Jason Song
0cbdbd36b6 Trim newline in log message (#6)
Co-authored-by: Jason Song <i@wolfogre.com>
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/6
2022-12-02 16:07:23 +08:00
Jason Song
0f97dd873a Use default labels with no interactive register (#5)
Co-authored-by: Jason Song <i@wolfogre.com>
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/5
2022-12-02 12:01:50 +08:00
Jason Song
8996b9b0e4 Disable HTTP/2 (#4)
We use [connect-go](https://github.com/bufbuild/connect-go) instead of [grpc-go](https://github.com/grpc/grpc-go) because connect-go support HTTP/1.1, that means we can mount the gRPC api on the Gitea server without change the protocol.

So it doesn't make sense that make the runner support both HTTP/1.1 and HTTP/2, and [upgrade the protocol used on Gitea](
ae018b6b48/modules/graceful/server_http.go (L23)) to support HTTP/2 and h2c. Although it works right now, I believe there'll be lots of problems when the Gitea server is behind a reverse proxy.

So let's KISS, we don't touch the http protocol of Gitea, and disable HTTP/2 for runner. And we would support HTTP/2 in the future if we really need it.

Co-authored-by: Jason Song <i@wolfogre.com>
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/4
2022-11-29 10:35:59 +08:00
Lunny Xiao
715d0e85ce Merge pull request 'Fix duplicated log when register failed' (#3) from lunny/act_runner:lunny/fix_register_failure_hint into main
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/3
2022-11-25 00:55:16 +08:00
Lunny Xiao
1ab84ac8e8
Fix duplicated log when register failed 2022-11-25 00:54:32 +08:00
Lunny Xiao
1d50f0f5fd Merge pull request 'Update README about register' (#2) from lunny/act_runner:lunny/update_readme into main
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/2
2022-11-25 00:42:46 +08:00
Lunny Xiao
d1017d752f
Update README about register 2022-11-25 00:40:00 +08:00
appleboy
474683c0e8 docs(readme): update some header. (#1)
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/1
2022-11-24 23:19:25 +08:00
Jason Song
03c4c4e116
docs: add quickstart to readme 2022-11-24 16:38:42 +08:00
Jason Song
b3e7d6a62d fix: update container config 2022-11-24 15:38:22 +08:00
Jason Song
2354f5bb18 feat: use specified labels 2022-11-24 15:38:21 +08:00
Jason Song
5781e233c1 fix: limit workers 2022-11-24 15:38:20 +08:00