5b98d6b2c3
updating docs
2026-07-13 22:37:20 -03:00
f3745f7871
updating full image
Build and Push Runner Images / Build Slim Runner Image (push) Successful in 8s
Build and Push Runner Images / Build Full Runner Image (push) Successful in 3m58s
2026-07-13 22:06:34 -03:00
4d8fe047e1
fixing actions
Test Actions (self-test) / AMD64 - Build tiny multi-arch image (runner-full-amd64) (push) Failing after 1s
Test Actions (self-test) / Test SSH deploy action (runner-full-amd64) (push) Failing after 2s
Test Actions (self-test) / Test Kubernetes actions (runner-full-amd64) (push) Failing after 7s
Test Actions (self-test) / ARM64 - Build tiny multi-arch image (runner-full-arm64) (push) Failing after 14s
Test Actions (self-test) / Test SSH deploy action (runner-slim-amd64) (push) Failing after 5s
Test Actions (self-test) / AMD64 - Build tiny multi-arch image (runner-slim-amd64) (push) Successful in 14s
Test Actions (self-test) / Test Kubernetes actions (runner-full-arm64) (push) Failing after 33s
Test Actions (self-test) / Test SSH deploy action (runner-full-arm64) (push) Failing after 20s
Test Actions (self-test) / Test SSH deploy action (runner-slim-arm64) (push) Failing after 29s
Test Actions (self-test) / ARM64 - Build tiny multi-arch image (runner-slim-arm64) (push) Successful in 1m3s
Test Actions (self-test) / Test Kubernetes actions (runner-slim-amd64) (push) Successful in 1m12s
Test Actions (self-test) / Test Kubernetes actions (runner-slim-arm64) (push) Successful in 1m52s
2026-07-13 21:58:30 -03:00
dd95efc1a1
modifying the images
Build and Push Runner Images / Build Slim Runner Image (push) Successful in 1m3s
Build and Push Runner Images / Build Full Runner Image (push) Successful in 5m15s
2026-07-13 21:54:44 -03:00
e77fd4075e
improving and adding tests to the slim version
Test Actions (self-test) / AMD64 - Build tiny multi-arch image (runner-full-amd64) (push) Failing after 2s
Test Actions (self-test) / AMD64 - Build tiny multi-arch image (runner-slim-amd64) (push) Failing after 4s
Test Actions (self-test) / AMD64 - Test Kubernetes actions (runner-full-amd64) (push) Failing after 2s
Test Actions (self-test) / AMD64 - Test SSH deploy action (runner-full-amd64) (push) Failing after 1s
Build and Push Runner Images / Build Full Runner Image (push) Successful in 10s
Test Actions (self-test) / AMD64 - Test Kubernetes actions (runner-slim-amd64) (push) Successful in 6s
Test Actions (self-test) / ARM64 - Build tiny multi-arch image (runner-full-arm64) (push) Failing after 23s
Test Actions (self-test) / ARM64 - Test Kubernetes actions (runner-full-arm64) (push) Failing after 26s
Build and Push Runner Images / Build Slim Runner Image (push) Successful in 29s
Test Actions (self-test) / ARM64 - Test SSH deploy action (runner-full-arm64) (push) Failing after 25s
Test Actions (self-test) / ARM64 - Build tiny multi-arch image (runner-slim-arm64) (push) Failing after 48s
Test Actions (self-test) / ARM64 - Test SSH deploy action (runner-slim-arm64) (push) Failing after 25s
Test Actions (self-test) / ARM64 - Test Kubernetes actions (runner-slim-arm64) (push) Failing after 1m0s
Test Actions (self-test) / AMD64 - Test SSH deploy action (runner-slim-amd64) (push) Failing after 7m7s
2026-07-13 21:31:00 -03:00
1dd3d9b85c
fixing image files
Build and Push Runner Images / Build Slim Runner Image (push) Successful in 20s
Build and Push Runner Images / Build Full Runner Image (push) Successful in 3m49s
2026-07-13 21:24:43 -03:00
8c999e2838
testing on the new images!
Test Actions (self-test) / Build tiny multi-arch image (runner-full-arm64) (push) Has been cancelled
Test Actions (self-test) / Test Kubernetes actions (runner-full-arm64) (push) Has been cancelled
Test Actions (self-test) / Test SSH deploy action (runner-full-arm64) (push) Has been cancelled
Test Actions (self-test) / Build tiny multi-arch image (runner-full-amd64) (push) Failing after 1s
Test Actions (self-test) / Test SSH deploy action (runner-full-amd64) (push) Failing after 1s
Test Actions (self-test) / Test Kubernetes actions (runner-full-amd64) (push) Failing after 2s
2026-07-13 21:23:13 -03:00
b41dfb68c6
fixing whitespaces
Build and Push Runner Images / Build Slim Runner Image (push) Successful in 10s
Build and Push Runner Images / Build Full Runner Image (push) Successful in 11s
2026-07-13 21:20:37 -03:00
ef3dd4f81c
adding build images
Test Actions (self-test) / Test Kubernetes actions (push) Successful in 8s
Test Actions (self-test) / Build tiny multi-arch image (push) Successful in 9s
Test Actions (self-test) / Test SSH deploy action (push) Successful in 15s
Build and Push Runner Images / Build Slim Runner Image (push) Successful in 1m24s
Build and Push Runner Images / Build Full Runner Image (push) Successful in 3m51s
2026-07-13 21:11:42 -03:00
de1ecdf5bd
fixing kubernetes tests
Test Actions (self-test) / Build tiny multi-arch image (push) Successful in 9s
Test Actions (self-test) / Test SSH deploy action (push) Successful in 18s
Test Actions (self-test) / Test Kubernetes actions (push) Successful in 21s
2026-07-13 21:05:51 -03:00
cc5d2088bd
fixing ssh
Test Actions (self-test) / Build tiny multi-arch image (push) Successful in 9s
Test Actions (self-test) / Test Kubernetes actions (push) Failing after 16s
Test Actions (self-test) / Test SSH deploy action (push) Successful in 19s
2026-07-13 21:04:12 -03:00
e8eb378541
add self-test workflow
Test Actions (self-test) / Build tiny multi-arch image (push) Successful in 13s
Test Actions (self-test) / Test SSH deploy action (push) Failing after 17s
Test Actions (self-test) / Test Kubernetes actions (push) Failing after 54s
2026-07-13 21:03:08 -03:00
e6b9d99305
docs: add job name: to all usage snippets + rule requiring named jobs
2026-07-13 19:49:47 -03:00
4ca132ea0d
fix(build-and-push): use real ssh user in docker context URL (was literal '***')
Test build-and-push (self-test) / Build tiny multi-arch image (push) Successful in 9s
2026-07-13 19:45:38 -03:00
fc7ed6bd15
fix: strip CRLF from inputs + add .gitattributes (eol=lf) -- fixes ssh username 'invalid characters'
Test build-and-push (self-test) / Build tiny multi-arch image (push) Failing after 2s
2026-07-13 19:39:29 -03:00
f55d654e72
feat: adding multi-arch image builds and kubectl manifest deployment
Test build-and-push (self-test) / Build tiny multi-arch image (push) Failing after 29s
2026-07-13 19:26:29 -03:00
3fe11a16bc
fix(build-and-push): build via docker context, not buildx-create-over-ssh
...
Test build-and-push (self-test) / Build tiny multi-arch image (push) Successful in 9s
The 'docker buildx create --name X ssh://...' driver hangs against
docker-build.haven with 'waiting for connection: context deadline exceeded',
even though SSH, the daemon, and dial-stdio all work. Root cause is that
docker-container-driver-over-SSH path; the remote daemon's own default
buildkit (containerd-snapshotter) works fine.
Rework:
- create a docker *context* over SSH and run 'docker --context remote-builder
buildx build --push' directly (drops docker/build-push-action, which needs
a named builder)
- (re)install qemu/binfmt on the remote each run when an arm* platform is
requested (binfmt is kernel state, lost on daemon/host restart -- this was
causing 'exec format error' for arm64 after the daemon was restarted)
- gentags now emits -t args for the direct buildx invocation
Validated end-to-end on real infra: multi-arch amd64+arm64 build + push to
git.ivanch.me/ivanch/pipeline-actions-selftest:citest, manifest confirmed
multi-arch.
2026-07-12 13:54:52 -03:00
dec613eb63
fix(build-and-push): hard-timeout the SSH probe so it can't hang
...
Test build-and-push (self-test) / Build tiny multi-arch image (push) Successful in 8s
ConnectTimeout only bounds the TCP handshake; wrap ssh in a 25s timeout
plus keepalives so a firewall that accepts SYN then drops packets fails
fast with a clear diagnostic instead of hanging the runner.
2026-07-12 13:38:33 -03:00
677c57e6f9
test(ci): add self-test workflow for build-and-push action
...
Test build-and-push (self-test) / Build tiny multi-arch image (push) Has been cancelled
Builds a tiny inline alpine image through build-and-push against the
remote buildx builder and asserts the pushed manifest is multi-arch.
Pushes to a throwaway :citest tag so it never touches real images.
Triggered on workflow_dispatch and on changes to the action.
2026-07-12 13:27:26 -03:00
a7dfc7c7dd
chore(build-and-push): add fail-fast SSH probe to remote builder host
...
Surfaces the real reachability/auth error instead of buildx's slow
'context deadline exceeded' when the runner can't reach the daemon.
2026-07-12 13:24:34 -03:00
57e25a8fef
fix(build-and-push): create buildx builder from SSH endpoint, drop colliding context
...
buildx refuses a builder instance whose name matches an existing docker
context. Create the builder directly from the ssh:// endpoint and clean up
any leftover context/builder of the same name first (idempotent re-runs).
2026-07-12 12:51:48 -03:00
8689226ca6
fix(build-and-push): pass docker context as positional arg to buildx create
...
--context is not supported on this buildx version; the context name is a
positional [CONTEXT|ENDPOINT] argument
2026-07-12 12:47:17 -03:00
39bdf82fac
fix(build-and-push): stop DOCKER_HOST overriding remote-builder context
...
- DOCKER_HOST env var was set to the builder hostname, which Docker treats
as tcp://host:2375 and which overrides the active docker context, so the
SSH remote-builder context was ignored (Cannot connect to tcp://docker-build.haven:2375)
- context endpoint used a literal ssh://***@ instead of the docker_user input
- create an actual buildx builder instance named remote-builder (build-push-action
needs a builder instance, not just a context)
2026-07-12 12:38:33 -03:00
1dc0cfb5ce
updating pipeline
2026-07-10 19:22:14 -03:00
740cbef5c1
feat: add composite action to build and push multi-arch images via remote Docker builder
2026-07-10 18:14:43 -03:00
ea92f3e55d
feat: add build-and-push and ssh-deploy composite actions with image tagging support
2026-07-10 18:10:30 -03:00
e098b7e0c5
adding image tag
2026-07-10 17:48:15 -03:00
fb6584ea84
docs: use full Gitea URL for pipeline-actions uses: references
2026-07-10 10:43:20 -03:00
586ba48de7
feat: new ssh-deploy job
2026-07-10 07:19:53 -03:00
5c11a6cf44
feat: reusable build-and-push and deploy-restart composite actions
...
- build-and-push: multi-arch Docker build via remote Buildx builder over SSH
- deploy-restart: kubectl rollout restart with kubeconfig validation
- README with usage examples and required secrets
2026-07-08 19:57:15 -03:00