Comments (5)
The discussion begins here: #157
But i guess it's a bit of a balance, having just one multi-arch image would be quite neat also and very clean and simple for users of the image. So in summary for me i think it's a good idea be allow hacky things inside the Dockerfile to do whatever is needed to produce static binaries but be cautious with complicated things in CI and build env etc?
@wader Maybe it's better to make PR on target libraries for helping them to compile on not only on x86_64 arch instead of hacking the Dockerfile?
Yes that is what i've usually done, file issues or send patch upstream and then maybe do hacks temporary. The things that usually cause issues is the uncommon combination of using musl and linking as static PIE.
To be honest, spawning two parallel universes to build the library on them, looks for me overkill. It's a very interesting challenge for me as an engineer, but it will make things more complicated to maintain.
Think i agree, for now i rather have one Dockerfile for everything with sed-hacks etc then multiple repos or branches. And i don't think it will be a problem as long as we build each arch native or emulated compared to cross compile C code which is usually a mess.
from static-ffmpeg.
It started working.
Here's the example of successful run:
https://github.com/myownradio/static-ffmpeg/actions/runs/1823775383
and the workflow file looks like this:
Here's the resulting image:
from static-ffmpeg.
@pldin601 very interesting stuff. Still wonder if it would be possible to package something like this as github action step thingy, like make it nearly transparent compared to using standard docker step containers. And how is that compared to using own action runner hosts
from static-ffmpeg.
@wader It's rather an experimenting thing. Not sure what the steps for making it simple as single package of GitHub action should be performed. It's possible to spawn spots with pre-installed GitHub runners and using them for running other steps instead of connecting with SSH. But we still need to perform terraform actions before and after build. Also, AWS has its own limitations and quotes. For example, it limits me how many spots I can spawn per hour(?). And I need to wait a few hours before I can be able to spawn instances again.
from static-ffmpeg.
Closed by #159
from static-ffmpeg.
Related Issues (20)
- Inconsistent DNS resolution HOT 13
- Build fails HOT 3
- AC3 support? HOT 9
- License issue HOT 6
- Multi-arch build is currently failing HOT 1
- Build fails due to libass extraction HOT 2
- /checkelf: not found HOT 6
- Possibly use Dockerfile heredoc in the future
- Suggestion: using UPX to pack binaries HOT 2
- AOMediaCodec requires login HOT 6
- ENABLE_FDKAAC=1 not working HOT 3
- ffmpeg: error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory HOT 5
- using existing packages? HOT 4
- --enable-libharfbuzz missing HOT 1
- tag 7.0 and master won't compile HOT 6
- platform tags missing HOT 4
- Add librsvg for SVG rasterization support HOT 12
- Help HOT 4
- OpenSSL issue with binary outside container (RedHat/Fedora specific) HOT 6
- [Bug] Custom font config in `/etc/fonts/conf.d` not working due to missing fontconfig binaries HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from static-ffmpeg.