Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: add Dockerfile and Docker image build action #5

Merged
merged 11 commits into from
Nov 8, 2024

Conversation

SamyDjemai
Copy link
Contributor

@SamyDjemai SamyDjemai commented Nov 8, 2024

Closes #3 (and #2?).

This adds a Dockerfile and a GitHub Action that builds and pushes the Docker image to GitHub Container Registry. The Docker image contains a statically-linked tailscale-manager binary, and is built using GitHub Actions cache: an initial build lasts around 15 minutes 🤯, whereas subsequent builds last less than 30 seconds, given that Cabal dependencies haven't changed.
A test image is available at ghcr.io/samydjemai/tailscale-manager:pr-1, and there are some workflow runs on my fork PR: SamyDjemai#1

I've added an example of how the image can be used in other Docker images, as well as some documentation in README.md.

Thanks for the useful tool :)

@benley benley self-requested a review November 8, 2024 17:53
Copy link
Contributor

@benley benley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great, thank you! Hopefully the arm64 build finishes successfully, that looks like it's going to take a while.

@benley benley merged commit c60c459 into singlestore-labs:main Nov 8, 2024
4 checks passed
@SamyDjemai
Copy link
Contributor Author

Yep, the ARM64 binary is currently built with emulation using QEMU, native ARM64 runners won't be available until early 2025 😕

@SamyDjemai SamyDjemai deleted the ci/dockerfile branch November 14, 2024 10:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Docs: how to use in Docker(?)
2 participants