125 Commits

Author SHA1 Message Date
unkinben 738871a692 Merge branch 'master' into update/etcd
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 11:47:46 +10:00
unkinben d860a9d27f feat: update ruff to 0.15.12 (#123)
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Automated version bump: 0.14.10 → 0.15.12

Reviewed-on: #123
2026-05-02 11:47:30 +10:00
unkinben 9e76b1ad83 feat: update pgbouncer_exporter to 0.12.0 (#127)
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Automated version bump: 0.11.0 → 0.12.0

Reviewed-on: #127
2026-05-02 11:42:53 +10:00
unkinben a5a6c90b8e feat: update vmagent to 1.142.0 (#124)
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Automated version bump: 1.132.0 → 1.142.0

Reviewed-on: #124
2026-05-02 11:38:45 +10:00
unkinben 99c4db7b51 feat: update cni-plugins to 1.9.1 (#125)
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Automated version bump: 1.9.0 → 1.9.1

Reviewed-on: #125
2026-05-02 11:34:08 +10:00
unkinben 9bc820ceaf feat: update jsonnet to 0.22.0 (#126)
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Automated version bump: 0.21.0 → 0.22.0

Reviewed-on: #126
2026-05-02 11:33:52 +10:00
unkinben 743f272793 Merge pull request 'feat: update stalwart to 0.16.3' (#128) from update/stalwart into master
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
Reviewed-on: #128
2026-05-02 11:33:37 +10:00
unkinben e8f87aa9b5 Merge pull request 'feat: update node_exporter to 1.11.1' (#129) from update/node_exporter into master
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
Reviewed-on: #129
2026-05-02 11:33:29 +10:00
unkinben ddf4b72ec5 Merge pull request 'feat: update terraform to 1.15.0' (#130) from update/terraform into master
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Reviewed-on: #130
2026-05-02 11:33:21 +10:00
unkinben a915b2c9f4 Merge pull request 'feat: update vmalert to 1.142.0' (#132) from update/vmalert into master
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Reviewed-on: #132
2026-05-02 11:33:13 +10:00
unkinben fb91ae8240 Merge pull request 'feat: update stalwart-foundationdb to 0.16.3' (#145) from update/stalwart-foundationdb into master
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Reviewed-on: #145
2026-05-02 11:33:02 +10:00
unkinben 7b808bce5c Merge branch 'master' into update/stalwart
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 11:07:26 +10:00
unkinben 5a3cca95e8 Merge pull request 'feat: update jsonnet-lint to 0.22.0' (#133) from update/jsonnet-lint into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #133
2026-05-02 10:21:23 +10:00
unkinben cdc60c992f Merge pull request 'feat: update postgres_exporter to 0.19.1' (#135) from update/postgres_exporter into master
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
Reviewed-on: #135
2026-05-02 10:21:15 +10:00
unkinben 189b7aaa8b Merge pull request 'feat: update nomad-autoscaler to 0.4.9' (#137) from update/nomad-autoscaler into master
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
Reviewed-on: #137
2026-05-02 10:21:07 +10:00
unkinben 2f289a8bea Merge pull request 'feat: update vminsert to 1.142.0' (#139) from update/vminsert into master
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Reviewed-on: #139
2026-05-02 10:20:58 +10:00
unkinben 124f258009 Merge pull request 'feat: update jsonnet-language-server to 0.17.0' (#141) from update/jsonnet-language-server into master
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
Reviewed-on: #141
2026-05-02 10:20:50 +10:00
unkinben d71b0570ff Merge pull request 'feat: update victoria-logs to 1.50.0' (#142) from update/victoria-logs into master
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Reviewed-on: #142
2026-05-02 10:20:43 +10:00
unkinben 084d0f7ebb Merge branch 'master' into update/node_exporter
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 10:17:55 +10:00
unkinben 6b7fe0cf50 Merge branch 'master' into update/terraform
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 10:17:19 +10:00
unkinben 447df4116b Merge branch 'master' into update/victoria-logs
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 09:53:57 +10:00
unkinben a46d30fc95 Merge branch 'master' into update/stalwart-foundationdb
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 09:53:47 +10:00
unkinben 5e0f56b6ef Merge pull request 'feat: update vmselect to 1.142.0' (#144) from update/vmselect into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #144
2026-05-02 09:51:17 +10:00
unkinben 58692a96b1 Merge pull request 'feat: update vlutils to 1.50.0' (#147) from update/vlutils into master
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
Reviewed-on: #147
2026-05-02 09:51:10 +10:00
unkinben 9e78b93a6a Merge pull request 'feat: update vmstorage to 1.142.0' (#150) from update/vmstorage into master
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Reviewed-on: #150
2026-05-02 09:51:03 +10:00
unkinben 3419072f0c Merge pull request 'feat: update vmutils to 1.142.0' (#156) from update/vmutils into master
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
Reviewed-on: #156
2026-05-02 09:50:47 +10:00
unkinben afe6673399 Merge pull request 'feat: update helmfile to 1.4.4' (#148) from update/helmfile into master
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Reviewed-on: #148
2026-05-02 09:50:37 +10:00
unkinben 89185e07c2 Merge branch 'master' into update/nomad-autoscaler
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 09:44:35 +10:00
unkinben 2bcfad04b0 Merge branch 'master' into update/jsonnet-language-server
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 09:44:20 +10:00
unkinben b7d5f2d656 Merge pull request 'feat: update packer to 1.15.3' (#149) from update/packer into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #149
2026-05-02 09:42:32 +10:00
unkinben 4b5419cf20 Merge pull request 'feat: update vault to 2.0.0' (#153) from update/vault into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #153
2026-05-02 09:14:26 +10:00
unkinben 3785181000 Merge pull request 'feat: update frr_exporter to 1.11.0' (#154) from update/frr_exporter into master
ci/woodpecker/push/deploy-almalinux8 Pipeline failed
ci/woodpecker/push/deploy-almalinux9 Pipeline failed
Reviewed-on: #154
2026-05-02 09:12:58 +10:00
unkinben 8801731e13 Merge pull request 'feat: update vals to 0.44.0' (#155) from update/vals into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #155
2026-05-02 09:09:40 +10:00
unkinben 6a764d28d3 Merge pull request 'feat: update consul to 1.22.7' (#134) from update/consul into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #134
2026-05-02 09:06:17 +10:00
unkinben 03dd516600 Merge branch 'master' into update/consul
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 08:57:39 +10:00
unkinben 9872215bf8 Merge branch 'master' into update/vminsert
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 08:57:19 +10:00
unkinben 92a9a20445 Merge branch 'master' into update/vmselect
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 08:57:01 +10:00
unkinben 042029ddc3 Merge branch 'master' into update/vlutils
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 08:52:36 +10:00
unkinben 3610c20ae6 Merge branch 'master' into update/helmfile
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 08:52:25 +10:00
unkinben 301f491a7c Merge branch 'master' into update/packer
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 08:46:34 +10:00
unkinben 58c997a971 Merge branch 'master' into update/vmstorage
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 08:42:56 +10:00
unkinben 34516a951d Merge branch 'master' into update/vault
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 08:42:33 +10:00
unkinben cd2cee4b44 Merge branch 'master' into update/frr_exporter
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 08:36:42 +10:00
unkinben c5408d231c Merge branch 'master' into update/vals
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 08:36:29 +10:00
unkinben 1ec69da49b Merge pull request 'feat: update nfpm to 2.46.3' (#122) from update/nfpm into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #122
2026-05-02 08:33:42 +10:00
unkinben 62dc3c56d2 Merge pull request 'feat: update boilerplate to 0.15.0' (#121) from update/boilerplate into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #121
2026-05-02 08:31:09 +10:00
unkinben 0665f3bdb2 Merge pull request 'feat: update uv to 0.11.8' (#146) from update/uv into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #146
2026-05-02 08:27:59 +10:00
unkinben 4ae1758d81 Merge pull request 'feat: update tflint to 0.62.0' (#152) from update/tflint into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #152
2026-05-02 08:26:02 +10:00
unkinben c977bb3f81 Merge branch 'master' into update/uv
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 08:23:51 +10:00
unkinben 13c4a2365d Merge branch 'master' into update/tflint
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 08:21:46 +10:00
unkinben 6db63d80ef Merge branch 'master' into update/nfpm
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 08:18:54 +10:00
unkinben 79fa72fd09 Merge branch 'master' into update/boilerplate
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 08:14:57 +10:00
unkinben 6c2ae01c1f Merge pull request 'feat: update terragrunt to 1.0.3' (#138) from update/terragrunt into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #138
2026-05-02 08:01:07 +10:00
unkinben b778d77617 Merge branch 'master' into update/terragrunt
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 07:54:40 +10:00
unkinben d4c961c3b0 Merge pull request 'feat: update nzbget to 26.1' (#143) from update/nzbget into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #143
2026-05-02 07:52:20 +10:00
unkinben d28087cd7c Merge branch 'master' into update/nzbget
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 07:50:22 +10:00
unkinben 9903a888dc Merge pull request 'feat: update starship to 1.25.1' (#116) from update/starship into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #116
2026-05-02 07:48:11 +10:00
unkinben 6fe13f2c06 Merge pull request 'feat: update claude-code to 2.1.126' (#131) from update/claude-code into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #131
2026-05-02 07:43:36 +10:00
unkinben e1c0dc7f85 Merge pull request 'feat: update helm to 4.1.4' (#157) from update/helm into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #157
2026-05-02 07:41:10 +10:00
unkinben 2de5147e27 feat: update helm to 4.1.4
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 01:48:53 +10:00
unkinben b2e786f444 feat: update vmutils to 1.142.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 01:48:47 +10:00
unkinben 0bd0655009 feat: update vals to 0.44.0
ci/woodpecker/pr/build-almalinux8 Pipeline is pending
ci/woodpecker/pr/build-almalinux9 Pipeline is pending
ci/woodpecker/pr/pre-commit Pipeline is pending
2026-05-02 01:48:41 +10:00
unkinben af06a66e86 feat: update frr_exporter to 1.11.0
ci/woodpecker/pr/build-almalinux8 Pipeline is running
ci/woodpecker/pr/pre-commit Pipeline is pending
ci/woodpecker/pr/build-almalinux9 Pipeline is running
2026-05-02 01:48:35 +10:00
unkinben 083abf54b0 feat: update vault to 2.0.0
ci/woodpecker/pr/build-almalinux9 Pipeline failed
ci/woodpecker/pr/pre-commit Pipeline is running
ci/woodpecker/pr/build-almalinux8 Pipeline failed
2026-05-02 01:48:32 +10:00
unkinben 7a7cc8c3ac feat: update tflint to 0.62.0
ci/woodpecker/pr/build-almalinux9 Pipeline is pending
ci/woodpecker/pr/pre-commit Pipeline is pending
ci/woodpecker/pr/build-almalinux8 Pipeline is running
2026-05-02 01:48:23 +10:00
unkinben 955c7d98c8 feat: update vmstorage to 1.142.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline failed
2026-05-02 01:48:19 +10:00
unkinben 2b584d74a3 feat: update packer to 1.15.3
ci/woodpecker/pr/build-almalinux9 Pipeline is running
ci/woodpecker/pr/pre-commit Pipeline failed
ci/woodpecker/pr/build-almalinux8 Pipeline failed
2026-05-02 01:48:16 +10:00
unkinben e2634dfa4a feat: update helmfile to 1.4.4
ci/woodpecker/pr/build-almalinux8 Pipeline is running
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:48:10 +10:00
unkinben 6f154faaf1 feat: update vlutils to 1.50.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
ci/woodpecker/pr/build-almalinux8 Pipeline failed
2026-05-02 01:48:08 +10:00
unkinben 738541fe59 feat: update uv to 0.11.8
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:48:05 +10:00
unkinben 7fd61d945a feat: update stalwart-foundationdb to 0.16.3
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline failed
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 01:47:54 +10:00
unkinben 83d532a538 feat: update vmselect to 1.142.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline failed
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 01:47:54 +10:00
unkinben 071de6a716 feat: update nzbget to 26.1
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline failed
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:47:53 +10:00
unkinben 449034a4a1 feat: update etcd to 3.6.10
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 01:47:50 +10:00
unkinben 0f97c20f30 feat: update victoria-logs to 1.50.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
ci/woodpecker/pr/build-almalinux8 Pipeline failed
2026-05-02 01:47:50 +10:00
unkinben 66ba9e7b8d feat: update jsonnet-language-server to 0.17.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:47:50 +10:00
unkinben 39513219c7 feat: update vminsert to 1.142.0
ci/woodpecker/pr/build-almalinux9 Pipeline is running
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 01:47:37 +10:00
unkinben 40470f4778 feat: update terragrunt to 1.0.3
ci/woodpecker/pr/build-almalinux8 Pipeline is running
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 01:47:35 +10:00
unkinben 7e834112c4 feat: update nomad-autoscaler to 0.4.9
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:47:33 +10:00
unkinben 61513c7647 feat: update jsonnet-lint to 0.22.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 01:47:29 +10:00
unkinben 2d46a58cdb feat: update postgres_exporter to 0.19.1
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 01:47:29 +10:00
unkinben 9da177743e feat: update consul to 1.22.7
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:47:26 +10:00
unkinben 6a271b988d feat: update vmalert to 1.142.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 01:47:18 +10:00
unkinben 17e0568616 feat: update terraform to 1.15.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:47:14 +10:00
unkinben a5b7591187 feat: update claude-code to 2.1.126
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 01:47:13 +10:00
unkinben 4ad40ed620 feat: update node_exporter to 1.11.1
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:47:10 +10:00
unkinben 3a7a016592 feat: update stalwart to 0.16.3
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline failed
2026-05-02 01:47:09 +10:00
unkinben 78bb31b806 feat: update nfpm to 2.46.3
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline failed
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-05-02 01:46:49 +10:00
unkinben e4000d4abc feat: update boilerplate to 0.15.0
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline failed
ci/woodpecker/pr/build-almalinux9 Pipeline failed
2026-05-02 01:46:46 +10:00
unkinben a8ec31fbde feat: update starship to 1.25.1
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-05-02 01:45:29 +10:00
unkinben 5a0b93c4b7 Merge pull request 'fix: support builds[].version metadata structure in update-gh' (#114) from worktree-fix+update-gh-builds-version into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #114
2026-05-02 01:34:41 +10:00
unkinben 17fec6b015 fix: support builds[].version metadata structure in update-gh
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
Packages use version/release fields nested inside builds[] entries
rather than at the top level of metadata.yaml.
2026-05-02 01:29:15 +10:00
unkinben eafcc7abc4 Merge pull request 'feat: add yq rpm' (#104) from benvin/yq into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #104
2026-04-26 22:03:28 +10:00
unkinben f80fde0524 Merge pull request 'feat: add kubectx rpm (includes kubens)' (#105) from benvin/kubectx into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #105
2026-04-26 22:01:15 +10:00
unkinben b4b7b39715 Merge pull request 'feat: add git-delta rpm' (#106) from benvin/git-delta into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #106
2026-04-26 21:38:17 +10:00
unkinben 3a286fc69c Merge pull request 'feat: add hadolint rpm' (#108) from benvin/hadolint into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #108
2026-04-26 21:36:21 +10:00
unkinben 029ca3ab17 Merge pull request 'feat: add lazydocker rpm' (#109) from benvin/lazydocker into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #109
2026-04-26 21:33:59 +10:00
unkinben 11ae33d80a Merge pull request 'feat: add code-server rpm' (#110) from benvin/code-server into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #110
2026-04-26 21:31:39 +10:00
unkinben dd2c72548f Merge pull request 'feat: add neovim and neovim-glibc-2.17 rpms' (#111) from benvin/neovim into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #111
2026-04-26 21:29:30 +10:00
unkinben 96ca30941a Merge pull request 'feat: add sops rpm' (#107) from benvin/sops into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #107
2026-04-26 21:27:11 +10:00
unkinben f001a9aa4b Merge pull request 'feat: add starship rpm' (#103) from benvin/starship into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #103
2026-04-26 21:24:50 +10:00
unkinben 0fd817b13f Merge pull request 'benvin/escape_secret' (#113) from benvin/escape_secret into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #113
2026-04-26 21:11:29 +10:00
unkinben c7eddffbb3 fix: uploads fail with wrong password
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
- properly escape the ${} function
2026-04-26 21:07:49 +10:00
unkinben 17e0fadd44 feat: add tea rpm 2026-04-26 21:07:49 +10:00
unkinben cfd1972d54 Merge pull request 'feat: add stern rpm' (#102) from benvin/stern into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #102
2026-04-26 19:50:59 +10:00
unkinben 82ae18e914 feat: add neovim and neovim-glibc-2.17 rpms
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-04-26 16:55:49 +10:00
unkinben 169959a3ac feat: add code-server rpm
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-04-26 16:50:39 +10:00
unkinben ee98e4bcd3 feat: add lazydocker rpm
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-04-26 16:45:58 +10:00
unkinben 2a56be453e feat: add hadolint rpm
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-04-26 16:44:34 +10:00
unkinben 1128eb5d0f feat: add sops rpm
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-04-26 16:43:48 +10:00
unkinben adaa9d8b19 feat: add git-delta rpm
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-04-26 16:42:52 +10:00
unkinben 7f7f314121 feat: add kubectx rpm (includes kubens)
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-04-26 16:41:39 +10:00
unkinben 03e3d6c9ca feat: add yq rpm
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-04-26 16:40:44 +10:00
unkinben 8a7e991c5f feat: add starship rpm
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-04-26 16:39:48 +10:00
unkinben e04f19ed03 feat: add stern rpm
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-04-26 16:23:01 +10:00
unkinben ff054f42bb Merge pull request 'fix: add --network=host to docker and fix build tool fallback order' (#89) from fix/docker-network-host-and-tool-detection into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #89
2026-04-25 16:14:57 +10:00
unkinben 818a48fa78 fix: add --network=host to docker and fix build tool fallback order
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
Pass --network=host to docker build and docker create so package builds
can reach the network. Reorder auto-detection so Docker is tried before
buildah/native, only falling back when the explicit flag is not set.
2026-04-25 16:11:40 +10:00
unkinben 111ea50d80 Merge pull request 'feat: automatically update claude-ai version' (#88) from benvin/claude-ai-versioncheck into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #88
2026-04-25 15:39:39 +10:00
unkinben 1b46845734 feat: automatically update claude-ai version
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
2026-04-25 11:38:32 +10:00
unkinben 497b99c328 Merge pull request 'feat: add claude-code rpm' (#87) from benvin/claude-code into master
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
Reviewed-on: #87
2026-04-25 11:37:22 +10:00
unkinben 6b070d8c14 feat: add claude-code rpm
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
2026-04-25 11:32:10 +10:00
unkinben dff743a00b Merge pull request 'feat: migrate to woodpeckerci' (#83) from benvin/woodpecker_changes into master
ci/woodpecker/push/deploy-almalinux9 Pipeline was successful
ci/woodpecker/push/deploy-almalinux8 Pipeline was successful
Reviewed-on: #83
2026-03-07 17:14:18 +11:00
unkinben f408d3d705 feat: migrate to woodpeckerci
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
- update build tool for kubernetes auth
- update build tool to build packages without docker (native + buildah)
- add woodpecker pre-commit and build jobs
- add woodpecker deployment jobs
- cleanup gitea actions workflows
2026-03-07 17:11:20 +11:00
unkinben c4c018b1ee Merge pull request 'feat: additional pre-commit checks' (#86) from benvin/pre-commit-improvements into master
Deploy / deploy-8 (push) Successful in 4s
Deploy / deploy-9 (push) Successful in 3s
Reviewed-on: #86
2026-03-07 17:06:30 +11:00
unkinben b18e34c905 feat: additional pre-commit checks
Build / build-8 (pull_request) Successful in 10s
Build / build-9 (pull_request) Successful in 10s
- add all precommit checks from pre-commit's hooks repo
- ensure scripts with shebangs are executable
2026-03-07 17:04:48 +11:00
99 changed files with 1572 additions and 288 deletions
-59
View File
@@ -1,59 +0,0 @@
name: Build
on:
pull_request:
workflow_call:
workflow_dispatch:
jobs:
build-8:
runs-on: almalinux-8
container:
image: git.unkin.net/unkin/almalinux8-actionsdind:latest
options: "--privileged --volume /etc/pki/tls/vault:/etc/pki/tls/vault:ro"
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Build Packages
env:
VAULT_ROLE_ID: ${{ secrets.RPMBUILDER_VAULT_ROLEID }}
run: |
./tools/build build-all --distro almalinux/el8
- name: Show RPMs
run: |
find /workspace -type f -name "*.rpm"
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: rpms-8
path: /workspace/unkin/rpmbuilder/dist/*/*/*.rpm
build-9:
runs-on: almalinux-8
container:
image: git.unkin.net/unkin/almalinux9-actionsdind:latest
options: "--privileged --volume /etc/pki/tls/vault:/etc/pki/tls/vault:ro"
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Build Packages
env:
VAULT_ROLE_ID: ${{ secrets.RPMBUILDER_VAULT_ROLEID }}
run: |
./tools/build build-all --distro almalinux/el9
- name: Show RPMs
run: |
find /workspace -type f -name "*.rpm"
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: rpms-9
path: /workspace/unkin/rpmbuilder/dist/*/*/*.rpm
-66
View File
@@ -1,66 +0,0 @@
name: Deploy
on:
push:
branches:
- master
workflow_dispatch:
jobs:
deploy-8:
runs-on: almalinux-8
container:
image: git.unkin.net/unkin/almalinux8-actionsdind:latest
options: --privileged
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Download Artifacts
run: |
mkdir -p /workspace/unkin/rpmbuilder/dist/almalinux/el8
export PREVIOUS_RUN_ID=$((GITHUB_RUN_NUMBER - 1))
curl -L -o /workspace/rpms.zip "https://git.unkin.net/${GITHUB_REPOSITORY}/actions/runs/${PREVIOUS_RUN_ID}/artifacts/rpms-8"
unzip /workspace/rpms.zip -d /workspace/unkin/rpmbuilder/dist/almalinux/el8
- name: Show RPMs
run: |
find /workspace -type f -name "*.rpm"
- name: Upload RPMs to Gitea
env:
DRONECI_PASSWORD: ${{ secrets.DRONECI_PASSWORD }}
run: |
for rpm in $(find /workspace/unkin/rpmbuilder/dist/almalinux/el8 -type f -name "*.rpm"); do
curl --user droneci:${{ secrets.DRONECI_PASSWORD }} --upload-file $rpm https://git.unkin.net/api/packages/unkin/rpm/almalinux/el8/upload
done
deploy-9:
runs-on: almalinux-8
container:
image: git.unkin.net/unkin/almalinux9-actionsdind:latest
options: --privileged
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Download Artifacts
run: |
mkdir -p /workspace/unkin/rpmbuilder/dist/almalinux/el9
export PREVIOUS_RUN_ID=$((GITHUB_RUN_NUMBER - 1))
curl -L -o /workspace/rpms.zip "https://git.unkin.net/${GITHUB_REPOSITORY}/actions/runs/${PREVIOUS_RUN_ID}/artifacts/rpms-9"
unzip /workspace/rpms.zip -d /workspace/unkin/rpmbuilder/dist/almalinux/el9
- name: Show RPMs
run: |
find /workspace -type f -name "*.rpm"
- name: Upload RPMs to Gitea
env:
DRONECI_PASSWORD: ${{ secrets.DRONECI_PASSWORD }}
run: |
for rpm in $(find /workspace/unkin/rpmbuilder/dist/almalinux/el9 -type f -name "*.rpm"); do
curl --user droneci:${{ secrets.DRONECI_PASSWORD }} --upload-file $rpm https://git.unkin.net/api/packages/unkin/rpm/almalinux/el9/upload
done
+16 -3
View File
@@ -3,12 +3,24 @@ repos:
- repo: https://github.com/pre-commit/pre-commit-hooks - repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0 rev: v4.5.0
hooks: hooks:
- id: trailing-whitespace - id: check-executables-have-shebangs
- id: end-of-file-fixer - id: check-json
- id: check-added-large-files
args: ['--maxkb=500']
- id: check-merge-conflict
- id: check-shebang-scripts-are-executable
- id: check-symlinks
- id: check-toml
- id: check-yaml - id: check-yaml
args: [--allow-multiple-documents] args: [--allow-multiple-documents]
- id: check-merge-conflict - id: detect-aws-credentials
args: [--allow-missing-credentials]
- id: detect-private-key - id: detect-private-key
- id: end-of-file-fixer
- id: forbid-new-submodules
- id: pretty-format-json
- id: trailing-whitespace
- repo: https://github.com/adrienverge/yamllint.git - repo: https://github.com/adrienverge/yamllint.git
rev: v1.37.1 rev: v1.37.1
hooks: hooks:
@@ -18,6 +30,7 @@ repos:
"-d {extends: relaxed, rules: {line-length: disable}}", "-d {extends: relaxed, rules: {line-length: disable}}",
"-s", "-s",
] ]
- repo: https://github.com/astral-sh/ruff-pre-commit - repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.7 rev: v0.14.7
hooks: hooks:
+20
View File
@@ -0,0 +1,20 @@
when:
- event: pull_request
steps:
- name: build rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- dnf install buildah -y
- ./tools/build build-all --distro almalinux/el8 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
- name: show rpms
image: git.unkin.net/unkin/almalinux8-base:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
+20
View File
@@ -0,0 +1,20 @@
when:
- event: pull_request
steps:
- name: build rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- dnf install buildah -y
- ./tools/build build-all --distro almalinux/el9 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
- name: show rpms
image: git.unkin.net/unkin/almalinux9-base:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
+37
View File
@@ -0,0 +1,37 @@
when:
- event: push
branch: master
steps:
- name: build-rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- dnf install buildah -y
- ./tools/build build-all --distro almalinux/el8 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
- name: show-rpms
image: git.unkin.net/unkin/almalinux9-base:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
depends_on: [build-rpms]
- name: deploy-rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- |
for rpm in $(find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"); do
curl --user droneci:$${DRONECI_PASSWORD} --upload-file $rpm https://git.unkin.net/api/packages/unkin/rpm/almalinux/el8/upload
done
environment:
DRONECI_PASSWORD:
from_secret: DRONECI_PASSWORD
backend_options:
kubernetes:
serviceAccountName: default
depends_on: [build-rpms, show-rpms]
+37
View File
@@ -0,0 +1,37 @@
when:
- event: push
branch: master
steps:
- name: build-rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- mkdir -p /woodpecker/rpms
- ln -s /woodpecker/rpms /workspace
- dnf install buildah -y
- ./tools/build build-all --distro almalinux/el9 --buildah
privileged: true
backend_options:
kubernetes:
serviceAccountName: default
- name: show-rpms
image: git.unkin.net/unkin/almalinux9-base:latest
commands:
- find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"
depends_on: [build-rpms]
- name: deploy-rpms
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
commands:
- |
for rpm in $(find /woodpecker/src/git.unkin.net/unkin/rpmbuilder/ -type f -name "*.rpm"); do
curl --user droneci:$${DRONECI_PASSWORD} --upload-file $rpm https://git.unkin.net/api/packages/unkin/rpm/almalinux/el9/upload
done
environment:
DRONECI_PASSWORD:
from_secret: DRONECI_PASSWORD
backend_options:
kubernetes:
serviceAccountName: default
depends_on: [build-rpms, show-rpms]
+9
View File
@@ -0,0 +1,9 @@
when:
- event: pull_request
steps:
- name: pre-commit
image: git.unkin.net/unkin/almalinux9-base:latest
commands:
- dnf install uv make -y
- uvx pre-commit run --all-files
+14
View File
@@ -3,6 +3,10 @@ ROOT_DIR := $(PWD)
BUILD_TOOL := $(ROOT_DIR)/tools/build BUILD_TOOL := $(ROOT_DIR)/tools/build
DISTRO ?= almalinux/el9 DISTRO ?= almalinux/el9
# Authentication variables (optional)
# VAULT_ROLE_ID - Use AppRole authentication if set
# VAULT_ROLE - Kubernetes role for service account authentication (default: rpmbuilder)
# Automatically find all packages with metadata.yaml # Automatically find all packages with metadata.yaml
PACKAGES := $(shell find $(ROOT_DIR)/rpms -mindepth 1 -maxdepth 1 -type d -exec test -f {}/metadata.yaml \; -print | xargs -n1 basename | sort) PACKAGES := $(shell find $(ROOT_DIR)/rpms -mindepth 1 -maxdepth 1 -type d -exec test -f {}/metadata.yaml \; -print | xargs -n1 basename | sort)
@@ -22,6 +26,16 @@ build-all:
@echo "Building all packages using Python tooling for distro $(DISTRO)..." @echo "Building all packages using Python tooling for distro $(DISTRO)..."
$(BUILD_TOOL) build-all --distro $(DISTRO) $(BUILD_TOOL) build-all --distro $(DISTRO)
# Build all packages using native build (no Docker)
build-all-native:
@echo "Building all packages natively (no Docker) for distro $(DISTRO)..."
$(BUILD_TOOL) build-all --distro $(DISTRO) --native
# Build all packages using Buildah
build-all-buildah:
@echo "Building all packages using Buildah for distro $(DISTRO)..."
$(BUILD_TOOL) build-all --distro $(DISTRO) --buildah
# Build specific package using Python tool # Build specific package using Python tool
.PHONY: $(PACKAGES) .PHONY: $(PACKAGES)
$(PACKAGES): $(PACKAGES):
+2 -2
View File
@@ -12,9 +12,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 0.10.1 version: 0.15.0
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 0.10.1 version: 0.15.0
+19
View File
@@ -0,0 +1,19 @@
arch: amd64
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
repository:
- almalinux/el8
version: 2.1.126
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
repository:
- almalinux/el9
version: 2.1.126
claude_ai: true
description: Claude Code - Anthropic's agentic AI coding tool
homepage: https://claude.ai/code
license: Proprietary
maintainer: Anthropic
name: claude-code
platform: linux
+13
View File
@@ -0,0 +1,13 @@
#!/usr/bin/bash
set -e
# Download claude-code binary
wget -O /app/claude https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/claude-ai/claude-code-releases/${PACKAGE_VERSION}/linux-x64/claude
chmod +x /app/claude
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
# Build the RPM
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+33
View File
@@ -0,0 +1,33 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- claude-code
- claude
provides:
- claude-code
- claude
# Files to include in the package
contents:
- src: /app/claude
dst: /usr/bin/claude
file_info:
mode: 0755
owner: root
group: root
+2 -2
View File
@@ -12,9 +12,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 1.9.0 version: 1.9.1
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 1.9.0 version: 1.9.1
+20
View File
@@ -0,0 +1,20 @@
---
name: code-server
github: coder/code-server
description: VS Code in the browser.
arch: amd64
platform: linux
maintainer: Coder
homepage: https://github.com/coder/code-server
license: MIT
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 4.117.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 4.117.0
+6
View File
@@ -0,0 +1,6 @@
#!/usr/bin/bash
set -e
curl -L -o /app/dist/code-server-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.x86_64.rpm \
https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/coder/code-server/releases/download/v${PACKAGE_VERSION}/code-server-${PACKAGE_VERSION}-amd64.rpm
+14
View File
@@ -0,0 +1,14 @@
# nfpm.yaml - unused, RPM is downloaded directly in build.sh
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
+2 -2
View File
@@ -12,9 +12,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 1.22.2 version: 1.22.7
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 1.22.2 version: 1.22.7
+2 -2
View File
@@ -12,9 +12,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 3.6.7 version: 3.6.10
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 3.6.7 version: 3.6.10
+2 -2
View File
@@ -11,9 +11,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 1.9.0 version: 1.11.0
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 1.9.0 version: 1.11.0
+20
View File
@@ -0,0 +1,20 @@
---
name: git-delta
github: dandavison/delta
description: A syntax-highlighting pager for git, diff, grep, and blame output.
arch: amd64
platform: linux
maintainer: dandavison
homepage: https://github.com/dandavison/delta
license: MIT
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.19.2
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.19.2
+12
View File
@@ -0,0 +1,12 @@
#!/usr/bin/bash
set -e
# Note: delta releases use plain version tags (no v prefix)
wget -O /app/delta-${PACKAGE_VERSION}-x86_64-unknown-linux-musl.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/dandavison/delta/releases/download/${PACKAGE_VERSION}/delta-${PACKAGE_VERSION}-x86_64-unknown-linux-musl.tar.gz
tar xf /app/delta-${PACKAGE_VERSION}-x86_64-unknown-linux-musl.tar.gz
mv /app/delta-${PACKAGE_VERSION}-x86_64-unknown-linux-musl/delta /app/delta
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+30
View File
@@ -0,0 +1,30 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- git-delta
provides:
- git-delta
contents:
- src: /app/delta
dst: /usr/bin/delta
file_info:
mode: 0755
owner: root
group: root
+20
View File
@@ -0,0 +1,20 @@
---
name: hadolint
github: hadolint/hadolint
description: A smarter Dockerfile linter that helps you build best practice Docker images.
arch: amd64
platform: linux
maintainer: hadolint
homepage: https://github.com/hadolint/hadolint
license: GPL-3.0
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 2.14.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 2.14.0
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/bash
set -e
wget -O /app/hadolint https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/hadolint/hadolint/releases/download/v${PACKAGE_VERSION}/hadolint-linux-x86_64
chmod +x /app/hadolint
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+30
View File
@@ -0,0 +1,30 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- hadolint
provides:
- hadolint
contents:
- src: /app/hadolint
dst: /usr/bin/hadolint
file_info:
mode: 0755
owner: root
group: root
+2 -2
View File
@@ -11,9 +11,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 4.0.5 version: 4.1.4
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 4.0.5 version: 4.1.4
+2 -2
View File
@@ -13,9 +13,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 1.2.3 version: 1.4.4
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 1.2.3 version: 1.4.4
Regular → Executable
View File
+12 -10
View File
@@ -1,15 +1,17 @@
---
arch: amd64 arch: amd64
builds: builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest - image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1' release: 1
repository: [almalinux/el8] repository:
version: 0.16.0 - almalinux/el8
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest version: 0.17.0
release: '1' - image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
repository: [almalinux/el9] release: 1
version: 0.16.0 repository:
description: Jsonnet Language Server Protocol implementation for the Jsonnet templating language. - almalinux/el9
version: 0.17.0
description: Jsonnet Language Server Protocol implementation for the Jsonnet templating
language.
github: grafana/jsonnet-language-server github: grafana/jsonnet-language-server
homepage: https://github.com/grafana/jsonnet-language-server homepage: https://github.com/grafana/jsonnet-language-server
license: Apache-2.0 license: Apache-2.0
+10 -9
View File
@@ -1,14 +1,15 @@
---
arch: amd64 arch: amd64
builds: builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest - image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1' release: 1
repository: [almalinux/el8] repository:
version: 0.21.0 - almalinux/el8
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest version: 0.22.0
release: '1' - image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
repository: [almalinux/el9] release: 1
version: 0.21.0 repository:
- almalinux/el9
version: 0.22.0
description: Linter for Jsonnet description: Linter for Jsonnet
github: google/go-jsonnet github: google/go-jsonnet
homepage: https://github.com/google/go-jsonnet homepage: https://github.com/google/go-jsonnet
+10 -9
View File
@@ -1,14 +1,15 @@
---
arch: amd64 arch: amd64
builds: builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest - image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1' release: 1
repository: [almalinux/el8] repository:
version: 0.21.0 - almalinux/el8
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest version: 0.22.0
release: '1' - image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
repository: [almalinux/el9] release: 1
version: 0.21.0 repository:
- almalinux/el9
version: 0.22.0
description: A data templating language description: A data templating language
github: google/go-jsonnet github: google/go-jsonnet
homepage: https://github.com/google/go-jsonnet homepage: https://github.com/google/go-jsonnet
+20
View File
@@ -0,0 +1,20 @@
---
name: kubectx
github: ahmetb/kubectx
description: Faster way to switch between clusters and namespaces in kubectl.
arch: amd64
platform: linux
maintainer: ahmetb
homepage: https://github.com/ahmetb/kubectx
license: Apache-2.0
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.11.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.11.0
+13
View File
@@ -0,0 +1,13 @@
#!/usr/bin/bash
set -e
wget -O /app/kubectx_v${PACKAGE_VERSION}_linux_x86_64.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/ahmetb/kubectx/releases/download/v${PACKAGE_VERSION}/kubectx_v${PACKAGE_VERSION}_linux_x86_64.tar.gz
wget -O /app/kubens_v${PACKAGE_VERSION}_linux_x86_64.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/ahmetb/kubectx/releases/download/v${PACKAGE_VERSION}/kubens_v${PACKAGE_VERSION}_linux_x86_64.tar.gz
tar xf /app/kubectx_v${PACKAGE_VERSION}_linux_x86_64.tar.gz -C /app/ kubectx
tar xf /app/kubens_v${PACKAGE_VERSION}_linux_x86_64.tar.gz -C /app/ kubens
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+38
View File
@@ -0,0 +1,38 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- kubectx
- kubens
provides:
- kubectx
- kubens
contents:
- src: /app/kubectx
dst: /usr/bin/kubectx
file_info:
mode: 0755
owner: root
group: root
- src: /app/kubens
dst: /usr/bin/kubens
file_info:
mode: 0755
owner: root
group: root
+20
View File
@@ -0,0 +1,20 @@
---
name: lazydocker
github: jesseduffield/lazydocker
description: The lazier way to manage everything docker.
arch: amd64
platform: linux
maintainer: jesseduffield
homepage: https://github.com/jesseduffield/lazydocker
license: MIT
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.25.2
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.25.2
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/bash
set -e
wget -O /app/lazydocker_${PACKAGE_VERSION}_Linux_x86_64.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/jesseduffield/lazydocker/releases/download/v${PACKAGE_VERSION}/lazydocker_${PACKAGE_VERSION}_Linux_x86_64.tar.gz
tar xf /app/lazydocker_${PACKAGE_VERSION}_Linux_x86_64.tar.gz -C /app/ lazydocker
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+30
View File
@@ -0,0 +1,30 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- lazydocker
provides:
- lazydocker
contents:
- src: /app/lazydocker
dst: /usr/bin/lazydocker
file_info:
mode: 0755
owner: root
group: root
View File
+20
View File
@@ -0,0 +1,20 @@
---
name: neovim-glibc-2.17
github: neovim/neovim-releases
description: Vim-fork focused on extensibility and usability (glibc 2.17 compatible build).
arch: amd64
platform: linux
maintainer: neovim
homepage: https://neovim.io
license: Apache-2.0
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.12.2
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.12.2
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/bash
set -e
wget -O /app/nvim-linux-x86_64.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/neovim/neovim-releases/releases/download/v${PACKAGE_VERSION}/nvim-linux-x86_64.tar.gz
tar xf /app/nvim-linux-x86_64.tar.gz
mv /app/nvim-linux-x86_64/bin/nvim /app/nvim
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
@@ -0,0 +1,35 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- neovim-glibc-2.17
- neovim
provides:
- neovim-glibc-2.17
- nvim
conflicts:
- neovim
contents:
- src: /app/nvim
dst: /usr/bin/nvim
file_info:
mode: 0755
owner: root
group: root
+20
View File
@@ -0,0 +1,20 @@
---
name: neovim
github: neovim/neovim
description: Vim-fork focused on extensibility and usability.
arch: amd64
platform: linux
maintainer: neovim
homepage: https://neovim.io
license: Apache-2.0
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.12.2
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.12.2
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/bash
set -e
wget -O /app/nvim-linux-x86_64.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/neovim/neovim/releases/download/v${PACKAGE_VERSION}/nvim-linux-x86_64.tar.gz
tar xf /app/nvim-linux-x86_64.tar.gz
mv /app/nvim-linux-x86_64/bin/nvim /app/nvim
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+35
View File
@@ -0,0 +1,35 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- neovim
- neovim-glibc-2.17
provides:
- neovim
- nvim
conflicts:
- neovim-glibc-2.17
contents:
- src: /app/nvim
dst: /usr/bin/nvim
file_info:
mode: 0755
owner: root
group: root
+2 -2
View File
@@ -12,9 +12,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 2.44.1 version: 2.46.3
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 2.44.1 version: 2.46.3
+2 -2
View File
@@ -11,9 +11,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 1.10.2 version: 1.11.1
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 1.10.2 version: 1.11.1
+2 -2
View File
@@ -13,9 +13,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 0.4.8 version: 0.4.9
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 0.4.8 version: 0.4.9
+4 -4
View File
@@ -11,10 +11,10 @@ builds:
- repository: - repository:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 2 release: 1
version: '25.4' version: '26.1'
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 2 release: 1
version: '25.4' version: '26.1'
View File
View File
+2 -2
View File
@@ -11,9 +11,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 1.14.3 version: 1.15.3
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 1.14.3 version: 1.15.3
+10 -9
View File
@@ -1,14 +1,15 @@
---
arch: amd64 arch: amd64
builds: builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest - image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1' release: 1
repository: [almalinux/el8] repository:
version: 0.11.0 - almalinux/el8
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest version: 0.12.0
release: '1' - image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
repository: [almalinux/el9] release: 1
version: 0.11.0 repository:
- almalinux/el9
version: 0.12.0
description: Prometheus exporter for PgBouncer description: Prometheus exporter for PgBouncer
github: prometheus-community/pgbouncer_exporter github: prometheus-community/pgbouncer_exporter
homepage: https://github.com/prometheus-community/pgbouncer_exporter homepage: https://github.com/prometheus-community/pgbouncer_exporter
+2 -2
View File
@@ -11,9 +11,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 0.18.1 version: 0.19.1
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 0.18.1 version: 0.19.1
View File
+2 -2
View File
@@ -11,9 +11,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 0.14.10 version: 0.15.12
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 0.14.10 version: 0.15.12
+20
View File
@@ -0,0 +1,20 @@
---
name: sops
github: getsops/sops
description: Simple and flexible tool for managing secrets.
arch: amd64
platform: linux
maintainer: getsops
homepage: https://github.com/getsops/sops
license: MPL-2.0
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 3.12.2
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 3.12.2
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/bash
set -e
wget -O /app/sops https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/getsops/sops/releases/download/v${PACKAGE_VERSION}/sops-v${PACKAGE_VERSION}.linux.amd64
chmod +x /app/sops
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+30
View File
@@ -0,0 +1,30 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- sops
provides:
- sops
contents:
- src: /app/sops
dst: /usr/bin/sops
file_info:
mode: 0755
owner: root
group: root
+2 -2
View File
@@ -12,9 +12,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 0.15.3 version: 0.16.3
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 0.15.3 version: 0.16.3
View File
View File
View File
View File
+2 -2
View File
@@ -11,9 +11,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 0.15.3 version: 0.16.3
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 0.15.3 version: 0.16.3
View File
View File
View File
View File
+20
View File
@@ -0,0 +1,20 @@
name: starship
github: starship/starship
description: The minimal, blazing-fast, and infinitely customizable prompt for any
shell.
arch: amd64
platform: linux
maintainer: starship
homepage: https://starship.rs
license: ISC
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 1.25.1
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 1.25.1
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/bash
set -e
wget -O /app/starship-x86_64-unknown-linux-musl.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/starship/starship/releases/download/v${PACKAGE_VERSION}/starship-x86_64-unknown-linux-musl.tar.gz
tar xf /app/starship-x86_64-unknown-linux-musl.tar.gz
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+30
View File
@@ -0,0 +1,30 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- starship
provides:
- starship
contents:
- src: /app/starship
dst: /usr/bin/starship
file_info:
mode: 0755
owner: root
group: root
+20
View File
@@ -0,0 +1,20 @@
---
name: stern
github: stern/stern
description: Multi pod and container log tailing for Kubernetes.
arch: amd64
platform: linux
maintainer: stern
homepage: https://github.com/stern/stern
license: Apache-2.0
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 1.33.1
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 1.33.1
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/bash
set -e
wget -O /app/stern_${PACKAGE_VERSION}_linux_amd64.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/stern/stern/releases/download/v${PACKAGE_VERSION}/stern_${PACKAGE_VERSION}_linux_amd64.tar.gz
tar xf /app/stern_${PACKAGE_VERSION}_linux_amd64.tar.gz
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+30
View File
@@ -0,0 +1,30 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- stern
provides:
- stern
contents:
- src: /app/stern
dst: /usr/bin/stern
file_info:
mode: 0755
owner: root
group: root
+20
View File
@@ -0,0 +1,20 @@
---
name: tea
github: unknown/tea
description: The official CLI for Gitea.
arch: amd64
platform: linux
maintainer: Gitea
homepage: https://gitea.com/gitea/tea
license: MIT
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 0.14.0
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 0.14.0
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/bash
set -e
curl -L --output /app/tea-linux-amd64 https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/gitea-dl/tea/${PACKAGE_VERSION}/tea-${PACKAGE_VERSION}-linux-amd64
chmod +x /app/tea-linux-amd64
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+30
View File
@@ -0,0 +1,30 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- tea
provides:
- tea
contents:
- src: /app/tea-linux-amd64
dst: /usr/bin/tea
file_info:
mode: 0755
owner: root
group: root
+2 -2
View File
@@ -14,9 +14,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 1.14.3 version: 1.15.0
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 1.14.3 version: 1.15.0
+2 -2
View File
@@ -12,9 +12,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 0.96.1 version: 1.0.3
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 0.96.1 version: 1.0.3
+2 -2
View File
@@ -12,9 +12,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 0.60.0 version: 0.62.0
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 0.60.0 version: 0.62.0
View File
+1 -1
View File
@@ -5,7 +5,7 @@ set -e
# Download and extract unrar (with version formatting) # Download and extract unrar (with version formatting)
export DOWNLOAD_VERSION=$(echo $PACKAGE_VERSION | sed s/\\.//) export DOWNLOAD_VERSION=$(echo $PACKAGE_VERSION | sed s/\\.//)
curl -L -o /app/rarlinux.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/rarlab/rar/rarlinux-x64-${DOWNLOAD_VERSION}.tar.gz curl -L -o /app/rarlinux.tar.gz https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/rarlab/rar/rarlinux-x64-${DOWNLOAD_VERSION}.tar.gz
tar xf /app/rarlinux.tar.gz tar xf /app/rarlinux.tar.gz -C /app
mv /app/rar/unrar /app/ mv /app/rar/unrar /app/
# Process the nfpm.yaml template with environment variables # Process the nfpm.yaml template with environment variables
+2 -2
View File
@@ -11,9 +11,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 0.9.20 version: 0.11.8
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 0.9.20 version: 0.11.8
+2 -2
View File
@@ -12,9 +12,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 0.43.0 version: 0.44.0
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 0.43.0 version: 0.44.0
+2 -2
View File
@@ -14,9 +14,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 1.21.1 version: 2.0.0
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 1.21.1 version: 2.0.0
+2 -2
View File
@@ -12,9 +12,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 1.43.1 version: 1.50.0
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 1.43.1 version: 1.50.0
+2 -2
View File
@@ -12,9 +12,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 1.43.1 version: 1.50.0
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 1.43.1 version: 1.50.0
+2 -2
View File
@@ -12,9 +12,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 1.132.0 version: 1.142.0
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 1.132.0 version: 1.142.0
+2 -2
View File
@@ -11,9 +11,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 1.132.0 version: 1.142.0
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 1.132.0 version: 1.142.0
+2 -2
View File
@@ -12,9 +12,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 1.132.0 version: 1.142.0
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 1.132.0 version: 1.142.0
+2 -2
View File
@@ -12,9 +12,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 1.132.0 version: 1.142.0
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 1.132.0 version: 1.142.0
+2 -2
View File
@@ -12,9 +12,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 1.132.0 version: 1.142.0
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 1.132.0 version: 1.142.0
+2 -2
View File
@@ -12,9 +12,9 @@ builds:
- almalinux/el8 - almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1 release: 1
version: 1.132.0 version: 1.142.0
- repository: - repository:
- almalinux/el9 - almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1 release: 1
version: 1.132.0 version: 1.142.0
+20
View File
@@ -0,0 +1,20 @@
---
name: yq
github: mikefarah/yq
description: yq is a portable command-line YAML, JSON, XML, CSV, TOML and properties processor.
arch: amd64
platform: linux
maintainer: mikefarah
homepage: https://github.com/mikefarah/yq
license: MIT
builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1
version: 4.53.2
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1
version: 4.53.2
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/bash
set -e
wget -O /app/yq https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/github/mikefarah/yq/releases/download/v${PACKAGE_VERSION}/yq_linux_amd64
chmod +x /app/yq
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+30
View File
@@ -0,0 +1,30 @@
# nfpm.yaml
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "${PACKAGE_DESCRIPTION}"
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false
replaces:
- yq
provides:
- yq
contents:
- src: /app/yq
dst: /usr/bin/yq
file_info:
mode: 0755
owner: root
group: root
+442 -26
View File
@@ -156,7 +156,7 @@ class PackageMetadata:
def get_vault_client() -> hvac.Client: def get_vault_client() -> hvac.Client:
""" """
Initialize and authenticate Vault client using AppRole authentication. Initialize and authenticate Vault client using AppRole or Kubernetes authentication.
Returns: Returns:
Authenticated HVAC client Authenticated HVAC client
@@ -166,10 +166,7 @@ def get_vault_client() -> hvac.Client:
# Get required environment variables # Get required environment variables
vault_addr = os.getenv('VAULT_ADDR', 'https://vault.service.consul:8200') vault_addr = os.getenv('VAULT_ADDR', 'https://vault.service.consul:8200')
vault_role_id = os.getenv('VAULT_ROLE_ID') vault_role_id = os.getenv('VAULT_ROLE_ID')
vault_role = os.getenv('VAULT_ROLE', 'rpmbuilder')
if not vault_role_id:
logger.error("VAULT_ROLE_ID environment variable is required")
sys.exit(1)
# Initialize Vault client with CA certificate # Initialize Vault client with CA certificate
client = hvac.Client( client = hvac.Client(
@@ -177,20 +174,54 @@ def get_vault_client() -> hvac.Client:
verify='/etc/pki/tls/cert.pem' verify='/etc/pki/tls/cert.pem'
) )
# Authenticate using AppRole # Use AppRole authentication if VAULT_ROLE_ID is available
if vault_role_id:
try: try:
logger.debug(f"Authenticating to Vault at {vault_addr}") logger.debug(f"Authenticating to Vault at {vault_addr} using AppRole")
client.auth.approle.login(role_id=vault_role_id) client.auth.approle.login(role_id=vault_role_id)
if not client.is_authenticated(): if not client.is_authenticated():
logger.error("Failed to authenticate with Vault") logger.error("Failed to authenticate with Vault using AppRole")
sys.exit(1) sys.exit(1)
logger.debug("Successfully authenticated with Vault") logger.debug("Successfully authenticated with Vault using AppRole")
return client return client
except Exception as e: except Exception as e:
logger.error(f"Vault authentication failed: {e}") logger.error(f"AppRole authentication failed: {e}")
sys.exit(1)
# Fallback to Kubernetes authentication if service account token is available
service_account_token_path = '/var/run/secrets/kubernetes.io/serviceaccount/token'
if os.path.exists(service_account_token_path):
try:
logger.debug(f"Attempting Kubernetes authentication to Vault at {vault_addr}")
# Read the service account token
with open(service_account_token_path, 'r') as f:
jwt_token = f.read().strip()
# Authenticate using Kubernetes auth method
client.auth.kubernetes.login(
role=vault_role,
jwt=jwt_token,
mount_point='k8s/au/syd1'
)
if not client.is_authenticated():
logger.error("Failed to authenticate with Vault using Kubernetes auth")
sys.exit(1)
logger.debug("Successfully authenticated with Vault using Kubernetes auth")
return client
except Exception as e:
logger.error(f"Kubernetes authentication failed: {e}")
sys.exit(1)
# No authentication method available
logger.error("Neither VAULT_ROLE_ID environment variable nor Kubernetes service account token is available")
sys.exit(1) sys.exit(1)
@@ -570,6 +601,50 @@ def check_docker_available() -> bool:
return False return False
def check_native_build_deps() -> bool:
"""
Check if native build dependencies are available (nfpm, envsubst, etc.).
Returns:
True if native build dependencies are available, False otherwise
"""
required_commands = ['nfpm', 'envsubst', 'wget', 'tar']
for cmd in required_commands:
try:
result = subprocess.run(
[cmd, '--version'],
capture_output=True,
text=True,
timeout=5
)
if result.returncode != 0:
return False
except (subprocess.TimeoutExpired, FileNotFoundError):
return False
return True
def check_buildah_available() -> bool:
"""
Check if Buildah is available.
Returns:
True if Buildah is available, False otherwise
"""
try:
result = subprocess.run(
['buildah', 'version'],
capture_output=True,
text=True,
timeout=10
)
return result.returncode == 0
except (subprocess.TimeoutExpired, FileNotFoundError):
return False
def cleanup_container(container_name: str) -> None: def cleanup_container(container_name: str) -> None:
""" """
Remove a Docker container. Remove a Docker container.
@@ -694,6 +769,7 @@ def build_package_docker(
build_args = [ build_args = [
'docker', 'build', 'docker', 'build',
'--pull', '--pull',
'--network=host',
'-f', str(central_dockerfile), '-f', str(central_dockerfile),
'--build-arg', f'BASE_IMAGE={base_image}', '--build-arg', f'BASE_IMAGE={base_image}',
'--build-arg', f'PACKAGE_NAME={package_name}', '--build-arg', f'PACKAGE_NAME={package_name}',
@@ -726,6 +802,7 @@ def build_package_docker(
# Step 2: Create and start container # Step 2: Create and start container
create_args = [ create_args = [
'docker', 'create', 'docker', 'create',
'--network=host',
'--name', container_name, '--name', container_name,
image_name image_name
] ]
@@ -777,6 +854,302 @@ def build_package_docker(
return False return False
def build_package_native(
package_dir: Path,
package_name: str,
package_version: str,
package_release: str,
dist_dir: Path,
repository: str,
dry_run: bool = False
) -> bool:
"""
Build a package natively without Docker, running build scripts directly.
Args:
package_dir: Directory containing the package resources
package_name: Name of the package
package_version: Package version
package_release: Package release number
dist_dir: Directory to store built packages
repository: Repository path (e.g., 'almalinux/el9')
dry_run: If True, only show what would be done
Returns:
True if build succeeded, False otherwise
"""
logger = logging.getLogger(__name__)
try:
# Ensure dist directory exists with repository structure
package_dist_dir = dist_dir / repository
if not dry_run:
package_dist_dir.mkdir(parents=True, exist_ok=True)
# Create a temporary workspace for native build
import tempfile
with tempfile.TemporaryDirectory() as temp_dir:
temp_path = Path(temp_dir)
app_dir = temp_path / "app"
app_dist_dir = app_dir / "dist"
# Create directories
if not dry_run:
app_dir.mkdir(parents=True, exist_ok=True)
app_dist_dir.mkdir(parents=True, exist_ok=True)
# Copy package resources to temp directory
import shutil
temp_resources_dir = app_dir / "resources"
if not dry_run:
shutil.copytree(package_dir / "resources", temp_resources_dir)
# Read metadata.yaml to get all package fields
metadata_file = package_dir / "metadata.yaml"
metadata = {}
if metadata_file.exists():
try:
with open(metadata_file, 'r') as f:
metadata = yaml.safe_load(f) or {}
except Exception as e:
logger.warning(f"Could not read metadata.yaml: {e}")
logger.info(f"Building RPM for {package_name} version {package_version} natively")
if dry_run:
logger.info(f"[DRY RUN] Would build natively from: {temp_path}")
logger.info("[DRY RUN] Would set environment variables:")
logger.info(f"[DRY RUN] PACKAGE_NAME={package_name}")
logger.info(f"[DRY RUN] PACKAGE_VERSION={package_version}")
logger.info(f"[DRY RUN] PACKAGE_RELEASE={package_release}")
logger.info(f"[DRY RUN] PACKAGE_DESCRIPTION={metadata.get('description', '')}")
logger.info(f"[DRY RUN] Would run: {temp_resources_dir / 'build.sh'}")
logger.info(f"[DRY RUN] Would copy artifacts to: {package_dist_dir}")
return True
# Set up environment variables like the Dockerfile does
build_env = os.environ.copy()
build_env.update({
'PACKAGE_NAME': package_name,
'PACKAGE_VERSION': package_version,
'PACKAGE_RELEASE': package_release,
'PACKAGE_DESCRIPTION': metadata.get('description', ''),
'PACKAGE_MAINTAINER': metadata.get('maintainer', ''),
'PACKAGE_HOMEPAGE': metadata.get('homepage', ''),
'PACKAGE_LICENSE': metadata.get('license', ''),
'PACKAGE_ARCH': metadata.get('arch', 'amd64'),
'PACKAGE_PLATFORM': metadata.get('platform', 'linux')
})
# Run the build script
build_script = temp_resources_dir / "build.sh"
if not build_script.exists():
logger.error(f"Build script not found: {build_script}")
return False
# Make build script executable
build_script.chmod(0o755)
logger.debug(f"Running build script: {build_script}")
result = subprocess.run(
[str(build_script)],
cwd=app_dir,
env=build_env,
capture_output=True,
text=True
)
if result.returncode != 0:
logger.error(f"Native build failed for {package_name}")
logger.error(f"stdout: {result.stdout}")
logger.error(f"stderr: {result.stderr}")
return False
# Copy artifacts to final destination
if app_dist_dir.exists():
for item in app_dist_dir.iterdir():
if item.is_file():
shutil.copy2(item, package_dist_dir)
logger.info(f"Successfully built {package_name}-{package_version}-{package_release} natively")
return True
except Exception as e:
logger.error(f"Unexpected error building {package_name} natively: {e}")
return False
def build_package_buildah(
package_dir: Path,
package_name: str,
package_version: str,
package_release: str,
dist_dir: Path,
repository: str,
base_image: str = "git.unkin.net/unkin/almalinux9-rpmbuilder:latest",
dry_run: bool = False
) -> bool:
"""
Build a package using Buildah without Docker daemon.
Args:
package_dir: Directory containing the package resources
package_name: Name of the package
package_version: Package version
package_release: Package release number
dist_dir: Directory to store built packages
repository: Repository path (e.g., 'almalinux/el9')
base_image: Base Docker image to use for building
dry_run: If True, only show what would be done
Returns:
True if build succeeded, False otherwise
"""
logger = logging.getLogger(__name__)
try:
# Ensure dist directory exists with repository structure
package_dist_dir = dist_dir / repository
if not dry_run:
package_dist_dir.mkdir(parents=True, exist_ok=True)
# Generate container name
container_name = f"{package_name}-{package_version}-buildah"
# Read metadata.yaml to get all package fields
metadata_file = package_dir / "metadata.yaml"
metadata = {}
if metadata_file.exists():
try:
with open(metadata_file, 'r') as f:
metadata = yaml.safe_load(f) or {}
except Exception as e:
logger.warning(f"Could not read metadata.yaml: {e}")
logger.info(f"Building RPM for {package_name} version {package_version} using Buildah")
if dry_run:
logger.info(f"[DRY RUN] Would use Buildah to build from: {base_image}")
logger.info("[DRY RUN] Would set environment variables:")
logger.info(f"[DRY RUN] PACKAGE_NAME={package_name}")
logger.info(f"[DRY RUN] PACKAGE_VERSION={package_version}")
logger.info(f"[DRY RUN] PACKAGE_RELEASE={package_release}")
logger.info(f"[DRY RUN] Would copy artifacts to: {package_dist_dir}")
return True
try:
# Step 1: Create a working container from base image
from_args = ['buildah', 'from', '--name', container_name, base_image]
logger.debug(f"Running: {' '.join(from_args)}")
result = subprocess.run(from_args, capture_output=True, text=True)
if result.returncode != 0:
logger.error(f"Failed to create Buildah container from {base_image}")
logger.error(f"stderr: {result.stderr}")
return False
# Step 2: Set environment variables
env_vars = {
'PACKAGE_NAME': package_name,
'PACKAGE_VERSION': package_version,
'PACKAGE_RELEASE': package_release,
'PACKAGE_DESCRIPTION': metadata.get('description', ''),
'PACKAGE_MAINTAINER': metadata.get('maintainer', ''),
'PACKAGE_HOMEPAGE': metadata.get('homepage', ''),
'PACKAGE_LICENSE': metadata.get('license', ''),
'PACKAGE_ARCH': metadata.get('arch', 'amd64'),
'PACKAGE_PLATFORM': metadata.get('platform', 'linux')
}
for key, value in env_vars.items():
config_args = ['buildah', 'config', '--env', f'{key}={value}', container_name]
logger.debug(f"Running: {' '.join(config_args)}")
result = subprocess.run(config_args, capture_output=True, text=True)
if result.returncode != 0:
logger.error(f"Failed to set environment variable {key}")
return False
# Step 3: Copy resources to container
copy_args = [
'buildah', 'copy', container_name,
str(package_dir / "resources"), '/app/resources'
]
logger.debug(f"Running: {' '.join(copy_args)}")
result = subprocess.run(copy_args, capture_output=True, text=True)
if result.returncode != 0:
logger.error(f"Failed to copy resources to container")
logger.error(f"stderr: {result.stderr}")
return False
# Step 4: Create dist directory in container
run_args = ['buildah', 'run', container_name, 'mkdir', '-p', '/app/dist']
logger.debug(f"Running: {' '.join(run_args)}")
result = subprocess.run(run_args, capture_output=True, text=True)
# Step 5: Run the build script
run_args = ['buildah', 'run', '--workingdir', '/app', container_name, '/app/resources/build.sh']
logger.debug(f"Running: {' '.join(run_args)}")
result = subprocess.run(run_args, capture_output=True, text=True)
if result.returncode != 0:
logger.error(f"Buildah build script failed for {package_name}")
logger.error(f"stdout: {result.stdout}")
logger.error(f"stderr: {result.stderr}")
return False
# Step 6: Copy artifacts from container to host
copy_out_args = [
'buildah', 'run', container_name,
'find', '/app/dist', '-type', 'f', '-name', '*.rpm'
]
result = subprocess.run(copy_out_args, capture_output=True, text=True)
logger.debug(f"Find RPMs result: {result.stdout}")
if result.returncode == 0 and result.stdout.strip():
rpm_files = result.stdout.strip().split('\n')
logger.info(f"Found {len(rpm_files)} RPM files to copy")
for rpm_file in rpm_files:
rpm_file = rpm_file.strip()
if rpm_file:
# Use buildah mount to copy files out
mount_args = ['buildah', 'mount', container_name]
mount_result = subprocess.run(mount_args, capture_output=True, text=True)
if mount_result.returncode == 0:
container_path = mount_result.stdout.strip()
source_file = Path(container_path) / rpm_file.lstrip('/')
if source_file.exists():
import shutil
dest_file = package_dist_dir / source_file.name
shutil.copy2(source_file, dest_file)
logger.debug(f"Copied {source_file} to {dest_file}")
else:
logger.error(f"Source file not found: {source_file}")
# Unmount
subprocess.run(['buildah', 'unmount', container_name], capture_output=True)
else:
logger.error(f"Failed to mount container: {mount_result.stderr}")
else:
logger.warning(f"No RPM files found or find command failed: {result.stderr}")
logger.info(f"Successfully built {package_name}-{package_version}-{package_release} using Buildah")
return True
finally:
# Step 7: Clean up container
rm_args = ['buildah', 'rm', container_name]
logger.debug(f"Running: {' '.join(rm_args)}")
subprocess.run(rm_args, capture_output=True, text=True)
except Exception as e:
logger.error(f"Unexpected error building {package_name} with Buildah: {e}")
return False
def cleanup_images(image_pattern: str = "*-builder") -> None: def cleanup_images(image_pattern: str = "*-builder") -> None:
""" """
Clean up Docker images matching a pattern. Clean up Docker images matching a pattern.
@@ -917,7 +1290,9 @@ class Builder:
release: str, release: str,
dry_run: bool = False, dry_run: bool = False,
force: bool = False, force: bool = False,
distro: str = 'almalinux/el9' distro: str = 'almalinux/el9',
native: bool = False,
buildah: bool = False
) -> bool: ) -> bool:
""" """
Build a single package. Build a single package.
@@ -993,9 +1368,9 @@ class Builder:
return False return False
package_info = PackageInfo(package, version, release, package_dir, distro, base_image) package_info = PackageInfo(package, version, release, package_dir, distro, base_image)
return self._build_package(package_info, dry_run, force) return self._build_package(package_info, dry_run, force, native, buildah)
def build_all(self, dry_run: bool = False, force: bool = False, parallel: int = 4, distro: str = 'el/9') -> bool: def build_all(self, dry_run: bool = False, force: bool = False, parallel: int = 4, distro: str = 'el/9', native: bool = False, buildah: bool = False) -> bool:
""" """
Build all packages. Build all packages.
@@ -1017,29 +1392,29 @@ class Builder:
self.logger.info(f"Found {len(packages)} packages to process") self.logger.info(f"Found {len(packages)} packages to process")
if parallel == 1: if parallel == 1:
return self._build_sequential(packages, dry_run, force) return self._build_sequential(packages, dry_run, force, native, buildah)
else: else:
return self._build_parallel(packages, dry_run, force, parallel) return self._build_parallel(packages, dry_run, force, parallel, native, buildah)
def _build_sequential(self, packages: List[PackageInfo], dry_run: bool, force: bool) -> bool: def _build_sequential(self, packages: List[PackageInfo], dry_run: bool, force: bool, native: bool, buildah: bool) -> bool:
"""Build packages sequentially.""" """Build packages sequentially."""
success_count = 0 success_count = 0
for package_info in packages: for package_info in packages:
if self._build_package(package_info, dry_run, force): if self._build_package(package_info, dry_run, force, native, buildah):
success_count += 1 success_count += 1
self.logger.info(f"Built {success_count}/{len(packages)} packages successfully") self.logger.info(f"Built {success_count}/{len(packages)} packages successfully")
return success_count == len(packages) return success_count == len(packages)
def _build_parallel(self, packages: List[PackageInfo], dry_run: bool, force: bool, parallel: int) -> bool: def _build_parallel(self, packages: List[PackageInfo], dry_run: bool, force: bool, parallel: int, native: bool, buildah: bool) -> bool:
"""Build packages in parallel.""" """Build packages in parallel."""
success_count = 0 success_count = 0
with ThreadPoolExecutor(max_workers=parallel) as executor: with ThreadPoolExecutor(max_workers=parallel) as executor:
# Submit all build tasks # Submit all build tasks
future_to_package = { future_to_package = {
executor.submit(self._build_package, pkg, dry_run, force): pkg executor.submit(self._build_package, pkg, dry_run, force, native, buildah): pkg
for pkg in packages for pkg in packages
} }
@@ -1056,7 +1431,7 @@ class Builder:
self.logger.info(f"Built {success_count}/{len(packages)} packages successfully") self.logger.info(f"Built {success_count}/{len(packages)} packages successfully")
return success_count == len(packages) return success_count == len(packages)
def _build_package(self, package_info: PackageInfo, dry_run: bool, force: bool) -> bool: def _build_package(self, package_info: PackageInfo, dry_run: bool, force: bool, native: bool = False, buildah: bool = False) -> bool:
""" """
Build a single package. Build a single package.
@@ -1081,12 +1456,45 @@ class Builder:
) )
return True return True
# Check Docker is available (unless dry run) # Check build tool availability (unless dry run)
if not dry_run and not check_docker_available(): use_native = native
self.logger.error("Docker is not available or running") use_buildah = buildah
use_docker = not use_native and not use_buildah and check_docker_available()
if not use_native and not use_buildah and not use_docker:
use_buildah = check_buildah_available()
if not use_native and not use_buildah and not use_docker:
use_native = check_native_build_deps()
if not dry_run and not use_native and not use_buildah and not use_docker:
self.logger.error("No build tools available (tried native, Buildah, Docker)")
return False return False
# Build the package # Build the package using available tool
if use_native:
self.logger.debug(f"Using native build for {package_info.name}")
return build_package_native(
package_dir=package_info.directory,
package_name=package_info.name,
package_version=package_info.version,
package_release=package_info.release,
dist_dir=self.dist_dir,
repository=package_info.distro,
dry_run=dry_run
)
elif use_buildah:
self.logger.debug(f"Using Buildah to build {package_info.name}")
return build_package_buildah(
package_dir=package_info.directory,
package_name=package_info.name,
package_version=package_info.version,
package_release=package_info.release,
dist_dir=self.dist_dir,
repository=package_info.distro,
base_image=package_info.base_image,
dry_run=dry_run
)
else:
self.logger.debug(f"Using Docker to build {package_info.name}")
return build_package_docker( return build_package_docker(
package_dir=package_info.directory, package_dir=package_info.directory,
package_name=package_info.name, package_name=package_info.name,
@@ -1358,6 +1766,8 @@ def build(
distro: str = typer.Option("almalinux/el9", help="Target distro (default: almalinux/el9)"), distro: str = typer.Option("almalinux/el9", help="Target distro (default: almalinux/el9)"),
dry_run: bool = typer.Option(False, "--dry-run", help="Show what would be built without building"), dry_run: bool = typer.Option(False, "--dry-run", help="Show what would be built without building"),
force: bool = typer.Option(False, "--force", help="Build even if package exists in registry"), force: bool = typer.Option(False, "--force", help="Build even if package exists in registry"),
native: bool = typer.Option(False, "--native", help="Force native build (skip Docker even if available)"),
buildah: bool = typer.Option(False, "--buildah", help="Force Buildah build (requires Buildah)"),
verbose: bool = typer.Option(False, "--verbose", "-v", help="Enable verbose logging") verbose: bool = typer.Option(False, "--verbose", "-v", help="Enable verbose logging")
): ):
"""Build a specific package.""" """Build a specific package."""
@@ -1419,7 +1829,9 @@ def build(
release=str(release), release=str(release),
dry_run=dry_run, dry_run=dry_run,
force=force, force=force,
distro=distro distro=distro,
native=native,
buildah=buildah
) )
if not success: if not success:
@@ -1435,6 +1847,8 @@ def build_all(
force: bool = typer.Option(False, "--force", help="Build even if packages exist in registry"), force: bool = typer.Option(False, "--force", help="Build even if packages exist in registry"),
parallel: int = typer.Option(4, help="Number of parallel builds"), parallel: int = typer.Option(4, help="Number of parallel builds"),
distro: str = typer.Option("almalinux/el9", help="Target distro (almalinux/el8, almalinux/el9, or 'all' for all distros)"), distro: str = typer.Option("almalinux/el9", help="Target distro (almalinux/el8, almalinux/el9, or 'all' for all distros)"),
native: bool = typer.Option(False, "--native", help="Force native build (skip Docker even if available)"),
buildah: bool = typer.Option(False, "--buildah", help="Force Buildah build (requires Buildah)"),
verbose: bool = typer.Option(False, "--verbose", "-v", help="Enable verbose logging") verbose: bool = typer.Option(False, "--verbose", "-v", help="Enable verbose logging")
): ):
"""Build all packages.""" """Build all packages."""
@@ -1448,7 +1862,9 @@ def build_all(
dry_run=dry_run, dry_run=dry_run,
force=force, force=force,
parallel=parallel, parallel=parallel,
distro=distro distro=distro,
native=native,
buildah=buildah
) )
if not success: if not success:
+55 -7
View File
@@ -154,6 +154,33 @@ def load_env_vars(env_file: Path) -> Dict[str, str]:
return env_vars return env_vars
def get_claude_ai_latest_version() -> Optional[str]:
"""
Get the latest claude-code version from downloads.claude.ai.
Returns:
Latest version string or None if not found
"""
logger = logging.getLogger(__name__)
try:
url = "https://downloads.claude.ai/claude-code-releases/latest"
logger.debug(f"Checking claude-code latest version: {url}")
response = requests.get(url, timeout=30)
if response.status_code == 200:
version = response.text.strip()
logger.debug(f"Latest claude-code version: {version}")
return version
else:
logger.warning(f"Unexpected response from claude.ai: {response.status_code}")
return None
except requests.RequestException as e:
logger.error(f"Failed to check claude-code version: {e}")
return None
def get_github_latest_release(repo: str) -> Optional[Dict]: def get_github_latest_release(repo: str) -> Optional[Dict]:
""" """
Get the latest release from GitHub API. Get the latest release from GitHub API.
@@ -266,6 +293,10 @@ def update_package_metadata(package_dir: Path, new_version: str, dry_run: bool =
with open(metadata_file, 'r') as f: with open(metadata_file, 'r') as f:
metadata = yaml.safe_load(f) metadata = yaml.safe_load(f)
builds = metadata.get('builds', [])
if builds and isinstance(builds, list) and builds[0].get('version') is not None:
old_version = str(builds[0].get('version', 'unknown'))
else:
old_version = metadata.get('version', 'unknown') old_version = metadata.get('version', 'unknown')
logger.info(f"Updating {metadata.get('name', 'unknown')} from {old_version} to {new_version}") logger.info(f"Updating {metadata.get('name', 'unknown')} from {old_version} to {new_version}")
@@ -274,6 +305,13 @@ def update_package_metadata(package_dir: Path, new_version: str, dry_run: bool =
return True return True
# Update version in metadata and reset release to 1 # Update version in metadata and reset release to 1
# Support both top-level version and builds[].version
builds = metadata.get('builds', [])
if builds and isinstance(builds, list) and builds[0].get('version') is not None:
for build in builds:
build['version'] = new_version
build['release'] = 1
else:
metadata['version'] = new_version metadata['version'] = new_version
metadata['release'] = 1 metadata['release'] = 1
@@ -313,24 +351,34 @@ def check_package_updates(package_dir: Path, dry_run: bool = False) -> bool:
metadata = yaml.safe_load(f) metadata = yaml.safe_load(f)
package_name = metadata.get('name', package_dir.name) package_name = metadata.get('name', package_dir.name)
current_version = metadata.get('version')
github_repo = metadata.get('github') github_repo = metadata.get('github')
claude_ai = metadata.get('claude_ai', False)
if not github_repo: if not github_repo and not claude_ai:
logger.debug(f"Package {package_name} has no GitHub repo configured") logger.debug(f"Package {package_name} has no GitHub repo or claude_ai configured")
return True return True
# Support both top-level version and builds[].version
builds = metadata.get('builds', [])
if builds and isinstance(builds, list) and builds[0].get('version'):
current_version = str(builds[0].get('version'))
else:
current_version = metadata.get('version')
if not current_version: if not current_version:
logger.warning(f"Package {package_name} has no version in metadata") logger.warning(f"Package {package_name} has no version in metadata")
return False return False
if claude_ai:
logger.info(f"Checking {package_name} (current: {current_version}) from downloads.claude.ai")
latest_version = get_claude_ai_latest_version()
if not latest_version:
return False
else:
logger.info(f"Checking {package_name} (current: {current_version}) from {github_repo}") logger.info(f"Checking {package_name} (current: {current_version}) from {github_repo}")
# Get latest release from GitHub
latest_release = get_github_latest_release(github_repo) latest_release = get_github_latest_release(github_repo)
if not latest_release: if not latest_release:
return False return False
latest_version = normalize_version(latest_release.get('tag_name', '')) latest_version = normalize_version(latest_release.get('tag_name', ''))
if not latest_version: if not latest_version:
logger.warning(f"Could not determine latest version for {package_name}") logger.warning(f"Could not determine latest version for {package_name}")
@@ -373,7 +421,7 @@ def find_packages_with_github(rpms_dir: Path) -> List[Path]:
with open(metadata_file, 'r') as f: with open(metadata_file, 'r') as f:
metadata = yaml.safe_load(f) metadata = yaml.safe_load(f)
if metadata.get('github'): if metadata.get('github') or metadata.get('claude_ai'):
github_packages.append(package_dir) github_packages.append(package_dir)
except Exception: except Exception:
continue continue