Tracking issue for Gitea CI bugs/limitations #25

Open
opened 2023-03-28 13:23:54 +00:00 by dboreham · 4 comments
Owner
  • Task .yaml files must be stand-alone, can't reference other sibling files.
  • Runner container entrypoint is overridden by Gitea, precluding automatic environment initialization.
  • Some actions are unavailable / unsupported (actions must be hosted on gitea, not github?) (Solved by forking or writing our own actions as needed)
  • No way to download a release attachment with a static "latest" url (we use this at GitHub for Stack Orchestrator) https://github.com/go-gitea/gitea/issues/3712 (should be fixed in 1.20)
  • On a mirrored repository, syncing deletes any existing releases even when releases are not configured to be mirrored. https://github.com/go-gitea/gitea/issues/22066
  • Cron-style action triggers are not supported (yet) https://github.com/go-gitea/gitea/pull/22751
  • Actions tasks can't be manually triggered (see workaround to "re-run" an old one though) https://github.com/go-gitea/gitea/issues/23668
- [ ] Task `.yaml` files must be stand-alone, can't reference other sibling files. - [ ] Runner container entrypoint is overridden by Gitea, precluding automatic environment initialization. - [ ] ~~Some actions are unavailable / unsupported (actions must be hosted on gitea, not github?)~~ (Solved by forking or writing our own actions as needed) - [ ] No way to download a release attachment with a static "latest" url (we use this at GitHub for Stack Orchestrator) https://github.com/go-gitea/gitea/issues/3712 (should be fixed in 1.20) - [ ] On a mirrored repository, syncing deletes any existing releases even when releases are not configured to be mirrored. https://github.com/go-gitea/gitea/issues/22066 - [ ] Cron-style action triggers are not supported (yet) https://github.com/go-gitea/gitea/pull/22751 - [ ] Actions tasks can't be manually triggered (see workaround to "re-run" an old one though) https://github.com/go-gitea/gitea/issues/23668
Member
  • Something about tasks having the same name (forget the details, please fill in).

This is a bug in act itself, but I haven't run into it yet in Gitea+actions. Basically, if you specify a job name when running act manually, it will try to execute that job in any workflow where it is found. That should be OK if not ideal, but it bases its container names off the job name, and so it attempts to create multiple containers with the same name.

This doesn't seem to be an issue with the way Gitea is using workflows, because it only handles one workflow file at a time.

> - [ ] Something about tasks having the same name (forget the details, please fill in). This is a bug in `act` itself, but I haven't run into it yet in Gitea+actions. Basically, if you specify a job name when running `act` manually, it will try to execute that job in any workflow where it is found. That should be OK if not ideal, but it bases its container names off the job name, and so it attempts to create multiple containers with the same name. This doesn't seem to be an issue with the way Gitea is using workflows, because it only handles one workflow file at a time.
Member

The laconicd "Gosec security scanner" task fails because it cannot checkout the repo the action technote-space/get-diff-action@v6.1.2:

cloning https://gitea.com/technote-space/get-diff-action to /root/.cache/act/technote-space-get-diff-action@v6.1.2
Unable to clone https://gitea.com/technote-space/get-diff-action refs/heads/v6.1.2: repository not found

It never gets far enough to try it, but I suspect it would fail getting cosmos/gosec@master as well.

It appears these GitHub URLs are being re-written to gitea, where these not standard actions do not exist. If that is all there is to it, we could always migrate/fork them to gitea.com under our own organization, but there may be additional problems lurking.

The `laconicd` "Gosec security scanner" task fails because it cannot checkout the repo the action `technote-space/get-diff-action@v6.1.2`: ``` cloning https://gitea.com/technote-space/get-diff-action to /root/.cache/act/technote-space-get-diff-action@v6.1.2 Unable to clone https://gitea.com/technote-space/get-diff-action refs/heads/v6.1.2: repository not found ``` It never gets far enough to try it, but I suspect it would fail getting `cosmos/gosec@master` as well. It appears these GitHub URLs are being re-written to gitea, where these not standard actions do not exist. If that is all there is to it, we could always migrate/fork them to gitea.com under our own organization, but there may be additional problems lurking.
Author
Owner

Note on stable release url:

In the 1.20 release things get better. The URL now looks like:

https://host/cerc-io/stack-orchestrator2/releases/download/v1.1.0-db4728a-202306201516/laconic-so

We really want it to look something like:

https://host/cerc-io/stack-orchestrator2/releases/download-latest/laconic-so

Gitea does support this:

https://host/cerc-io/stack-orchestrator2/releases/latest

but it redirects to a tag-specific landing page

Note on stable release url: In the 1.20 release things get better. The URL now looks like: https://host/cerc-io/stack-orchestrator2/releases/download/v1.1.0-db4728a-202306201516/laconic-so We really want it to look something like: https://host/cerc-io/stack-orchestrator2/releases/download-latest/laconic-so Gitea does support this: https://host/cerc-io/stack-orchestrator2/releases/latest but it redirects to a tag-specific landing page
Author
Owner

This PR: https://github.com/go-gitea/gitea/pull/25429 addresses our immediate needs to have a stable URL to get the latest version of a release file, like we do from GitHub.

This PR: https://github.com/go-gitea/gitea/pull/25429 addresses our immediate needs to have a stable URL to get the latest version of a release file, like we do from GitHub.
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: cerc-io/hosting#25
No description provided.