Now that we're moving to a paid org, we have native ARM github action
runners available, which means we can streamline our ARM-based docker
image builds by not having them run emulated.
I've switched our worker split from ubuntu/alpine to Intel/ARM... if we
hate this we can make it 4 separate workflows, but i don't see an issue
with this one.
There is a failure mode in composer where if it has a connection trying to get
a dependency tarball from the github API, it will fall-back to
downloading the entire repo for the dependency and use that... and it
will cache it outside of vendor/, using a whopping 1.5G of space
that full 1.5G is _then_ copied into vendor/
```
98M league
100M tecnickcom
133M laravel
323M sebastian
681M aws
```
for a total of a 1.8G vendor/ directory
vs the trimmed-down version with a 552M vendor/ directory
```
53M league
30M tecnickcom
31M laravel
70M sebastian
241M aws
```
This is still a far cry from the proper 150M version when everything
works as it should, but it's still a vast improvement
```
3.2M league
14M laravel
30M tecnickcom
260K sebastian
52M aws
```
Ideally this never happens, but it'd be great tp avoid the bloat if/when
it does..
To wit: Our ARM/Ubuntu Docker images are currently bloated because of this
issue due builds happening on an emulated ARM environment, and the resultant
performance penalties causing composer issues
All that to say, this change sets OMPOSER_CACHE_DIR to /dev/null to
avoid the caching, and then removes vendor/*/*/.git to remove that
needless bloat if it occurs. It's a no-op in general practice.
Extended the list of allowed file extensions and MIME types to include AVIF format in both backend file validation and the file input field for logo uploads. This update ensures compatibility with modern image formats.
Introduced a mechanism to track and log potentially unsafe files skipped during the restore process. These files are collected in an array and displayed as warnings before exiting, improving transparency and debugging capability.