[#193] Enable integration tests in Forgejo Actions #193
Labels
No labels
P0
P1
P2
P3
good first issue
Infrastructure
blocked
bug
config
discussion
documentation
duplicate
enhancement
go
help wanted
internal
invalid
kludge
observability
perfomance
question
refactoring
wontfix
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TrueCloudLab/frostfs-http-gw#193
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "potyarkin/frostfs-http-gw:feature/integration-in-ci"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
After some changes to our CI runner infra (TrueCloudLab/frostfs-infra#177) we can now launch nested OCI containers in Forgejo Actions. restic CI already makes use of testcontainers. Let's do it here too.
Current implementation gets things done (we did not execute integration tests in CI before) but is suboptimal. There exists a potential to reduce run time from ~5.5 minutes to ~3.5 minutes, but I'm not sure when/if we'll get there.
@alexvanin, what do you think? I suggest either to merge this as is (with 5.5 minute run time) or to tweak job trigger conditions to run this job less often (e.g. on pushes to master only instead of for each PR)
WIP journal
Our CI runner environment is ephemeral, there is no chance that image cache will ever be reused. I suggest we pull over fast LAN from git.frostfs.info instead of attempting to pile CI caches on top of Docker caches.
integration_test.go
to use our selfhosted registryReference points:
- First green job took ~7 minutes (pulling all images from Docker Hub, no cache)
- Integration tests on my laptop take ~2.5 minutes (warm image cache: all hits, cold go cache: no hits)
- CI runner using registry at git.frostfs.info finishes in 5.5 minutes with cold image cache, in 3.5 minutes with warm image cache (logs for both measurements)
Saving registry sync script for future reference:
803c6b74da
to27c40ff43c
27c40ff43c
toc2c46e332f
c2c46e332f
toa7617514d3
WIP: [#193] Enable integration tests in Forgejo Actionsto [#193] Enable integration tests in Forgejo Actions