[PR #1507] [MERGED] feat: Allow building without docker support #1975

Closed
opened 2026-03-01 21:53:29 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/nektos/act/pull/1507
Author: @ChristopherHX
Created: 12/12/2022
Status: Merged
Merged: 1/10/2023
Merged by: @mergify[bot]

Base: masterHead: allow-building-without-docker-support


📝 Commits (3)

  • 82cd621 feat: Allow building without docker support
  • 5f71575 fix macos build tag
  • 4be5759 Merge branch 'master' into allow-building-without-docker-support

📊 Changes

10 files changed (+143 additions, -62 deletions)

View changed files

pkg/container/container_types.go (+70 -0)
📝 pkg/container/docker_auth.go (+2 -0)
📝 pkg/container/docker_build.go (+2 -8)
📝 pkg/container/docker_cli.go (+2 -0)
📝 pkg/container/docker_images.go (+2 -0)
📝 pkg/container/docker_logger.go (+2 -0)
📝 pkg/container/docker_pull.go (+2 -9)
📝 pkg/container/docker_run.go (+2 -45)
pkg/container/docker_stub.go (+57 -0)
📝 pkg/container/docker_volume.go (+2 -0)

📄 Description

Needed by github-act-runner to compile for dragonfly, plan9, etc.

I moved the types into container_types.go without changing them.

The docker package is not compatible with dragonfly, while the rest of the code is:

| # github.com/moby/sys/mount
| ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo.
| ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:16:27: undefined: RDONLY
| ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo.
| ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:17:26: undefined: RDONLY
| ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo.
| ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:18:26: undefined: NOSUID
| ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo.
| ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:19:27: undefined: NOSUID
| ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo.
| ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:20:26: undefined: NODEV
| ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo.
| ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:21:27: undefined: NODEV
| ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo.
| ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:22:26: undefined: NOEXEC
| ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo.
| ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:23:27: undefined: NOEXEC
| ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo.
| ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:24:27: undefined: SYNCHRONOUS
| ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo.
| ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:25:26: undefined: SYNCHRONOUS
| ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo.
| ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:25:26: too many errors
| ##[error]Process completed with exit code 2.

This patch make this to compile successful, while the tests don't work.
GOOS=dragonfly GOARCH=amd64 go build

Updated working Targets with and without this change

Fixes building

  • GOOS=dragonfly GOARCH=amd64
  • GOOS=illumos GOARCH=amd64 ( * survey prevents the build of the cli package )
  • GOOS=netbsd GOARCH=amd64
  • GOOS=netbsd GOARCH=386
  • GOOS=netbsd GOARCH=arm64
  • GOOS=netbsd GOARCH=arm
  • GOOS=plan9 GOARCH=amd64 ( * survey prevents the build of the cli package )
  • GOOS=plan9 GOARCH=386 ( * survey prevents the build of the cli package )
  • GOOS=plan9 GOARCH=arm ( * survey prevents the build of the cli package )
  • GOOS=solaris GOARCH=amd64 ( * survey prevents the build of the cli package )

Targets, which builds without this change with go 1.19 but didn't in go 1.16

  • GOOS=freebsd GOARCH=amd64
  • GOOS=freebsd GOARCH=385
  • GOOS=freebsd GOARCH=arm64
  • GOOS=freebsd GOARCH=arm

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/nektos/act/pull/1507 **Author:** [@ChristopherHX](https://github.com/ChristopherHX) **Created:** 12/12/2022 **Status:** ✅ Merged **Merged:** 1/10/2023 **Merged by:** [@mergify[bot]](https://github.com/apps/mergify) **Base:** `master` ← **Head:** `allow-building-without-docker-support` --- ### 📝 Commits (3) - [`82cd621`](https://github.com/nektos/act/commit/82cd62117c37ee74f7912f646be058169cf4ac9e) feat: Allow building without docker support - [`5f71575`](https://github.com/nektos/act/commit/5f715757d8547950f5d1dc955ae6c0a17532df69) fix macos build tag - [`4be5759`](https://github.com/nektos/act/commit/4be57596183400f6c48f87795f324e14fe8e54ac) Merge branch 'master' into allow-building-without-docker-support ### 📊 Changes **10 files changed** (+143 additions, -62 deletions) <details> <summary>View changed files</summary> ➕ `pkg/container/container_types.go` (+70 -0) 📝 `pkg/container/docker_auth.go` (+2 -0) 📝 `pkg/container/docker_build.go` (+2 -8) 📝 `pkg/container/docker_cli.go` (+2 -0) 📝 `pkg/container/docker_images.go` (+2 -0) 📝 `pkg/container/docker_logger.go` (+2 -0) 📝 `pkg/container/docker_pull.go` (+2 -9) 📝 `pkg/container/docker_run.go` (+2 -45) ➕ `pkg/container/docker_stub.go` (+57 -0) 📝 `pkg/container/docker_volume.go` (+2 -0) </details> ### 📄 Description Needed by github-act-runner to compile for dragonfly, plan9, etc. I moved the types into container_types.go without changing them. The docker package is not compatible with dragonfly, while the rest of the code is: ``` | # github.com/moby/sys/mount | ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo. | ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:16:27: undefined: RDONLY | ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo. | ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:17:26: undefined: RDONLY | ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo. | ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:18:26: undefined: NOSUID | ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo. | ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:19:27: undefined: NOSUID | ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo. | ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:20:26: undefined: NODEV | ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo. | ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:21:27: undefined: NODEV | ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo. | ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:22:26: undefined: NOEXEC | ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo. | ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:23:27: undefined: NOEXEC | ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo. | ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:24:27: undefined: SYNCHRONOUS | ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo. | ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:25:26: undefined: SYNCHRONOUS | ##[debug]Dropping file value '/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go'. Path is not under the workflow repo. | ##[error]/home/ubuntu/go/pkg/mod/github.com/moby/sys/mount@v0.3.1/flags_unix.go:25:26: too many errors | ##[error]Process completed with exit code 2. ``` This patch make this to compile successful, while the tests don't work. GOOS=dragonfly GOARCH=amd64 go build **Updated working Targets with and without this change** Fixes building - [x] `GOOS=dragonfly GOARCH=amd64` - [ ] `GOOS=illumos GOARCH=amd64` ( * survey prevents the build of the cli package ) - [x] `GOOS=netbsd GOARCH=amd64` - [x] `GOOS=netbsd GOARCH=386` - [x] `GOOS=netbsd GOARCH=arm64` - [x] `GOOS=netbsd GOARCH=arm` - [ ] `GOOS=plan9 GOARCH=amd64` ( * survey prevents the build of the cli package ) - [ ] `GOOS=plan9 GOARCH=386` ( * survey prevents the build of the cli package ) - [ ] `GOOS=plan9 GOARCH=arm` ( * survey prevents the build of the cli package ) - [ ] `GOOS=solaris GOARCH=amd64` ( * survey prevents the build of the cli package ) Targets, which builds without this change with go 1.19 but didn't in go 1.16 - `GOOS=freebsd GOARCH=amd64` - `GOOS=freebsd GOARCH=385` - `GOOS=freebsd GOARCH=arm64` - `GOOS=freebsd GOARCH=arm` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-01 21:53:29 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/act#1975
No description provided.