Optimise CI runs #938
No reviewers
Labels
No labels
approved, awaiting change
bug
configuration
documentation
duplicate
enhancement
extremely low priority
feature request
Fix it yourself
help wanted
invalid
mastodon_api
needs change/feedback
needs docs
needs tests
not a bug
planned
pleroma_api
privacy
question
static_fe
triage
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: AkkomaGang/akkoma#938
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "Oneric/akkoma:ci-tweaks"
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?
Not sure if this actually works, will need to experimentCuts down a bit on CI CPU time by removing superfluous redunancy between linting and testing.
Cuts down potentially much more on latency since CI runs no longer need to wait for skipped pipelines to be scheduled before concluding. When many CI runs are started in parallel (e.g. multiple PRs being checked and the runs from those already merged) this can take quite a while since the two available execution slots are rotated among all concurrent runs. After spending ~15min on running its tests a PR CI run might then have needed to wait
number_of_other_runs * really_executed_pipeline_time
before its finaldoc
etc pipelines are scheduled — ust for those final pipelines to be noops anywayWIP: try to optimise CI runsto try to optimise CI runstry to optimise CI runsto WIP: try to optimise CI runshonestly if you wanted to combine the steps you may as well always lint instead of the environment variable check - before like 1.17?? linting didn't require compilation so it was quicker to separate them
The issue is, that different elixir versions will disagree on what is "correctly" formatted
WIP: try to optimise CI runsto try to optimise CI runsah yeah I forgot about that one
fun
ea6484abdf
to74667e6dfb
74667e6dfb
toe9851c3300
@ -6,4 +4,2 @@
matrix:
# test the lowest and highest versions
ELIXIR_VERSION:
not sure you can remove this though? the matrix is generated from it and filtered by the
include
yep, the docs use
include
without anything else and it works fine here in testing: https://woodpecker-ci.org/docs/usage/matrix-workflowsIdeally I’d like to separate lint into a different step to make it more visible whether it fails in tests or during linting but I’m not sure how to check the value of a custom matrix variable in a step
when
conditionI don't think you can, but there is a really stinky workaround that could work, you could wrap lint steps in a script/bash -c step that exits if the env vars aren't what you expect
extremely stinky but would be functional
0f0a66e688
tocfb967ed24
6c8ae2a4a1
tod1612e2bb8
ok, top-level
when
conditions work too, but they can't use&on-release
variables, but on the other hand with the condition being at the top-level there’s less duplication and thus less need for variables to begin withyeee, don't feel like doing that atm
but it seems to work fine from what i can test here in the PR. If it looks good to you this should help to cut down on CI latency
try to optimise CI runsto Optimise CI runsd1612e2bb8
toea5a2a9f21
i think this is okie