Files
Axel Uhl 118c8deb3f Accept multiple .tar.gz content types when locating release archive asset
Prepare consumers for the release producer switching from an explicit
application/x-tar content type to the extension-inferred application/gzip.
All sites that locate the release tarball by asset content_type now accept
the set application/x-tar, application/gzip, application/x-gzip and
application/x-compressed-tar (the types commonly seen in the wild for a
gzip-compressed tar), instead of matching application/x-tar exactly.

This is behavior-preserving for existing application/x-tar releases and
forward-compatible with application/gzip releases, enabling a later,
risk-free switch of the release workflow to action-gh-release's files: input.

Consumers updated:
- GithubReleasesRepository.java (Set membership instead of String.equals)
- refreshInstance.sh (both jq selectors)
- github-download-release-assets.sh (both jq selectors)

Assisted-By: Claude (claude-4.8-opus)
2026-09-02 18:27:35 +02:00
..
2024-10-21 17:27:17 +02:00

The environments_scripts directory contains more directories, which map to environment
types, each holding scripts and files useful to that environment.
Each environment type also contains a "users" folder, which contains
subfolders for each user on the system.
The build-crontab-and-cp-files script uses the contents of these subfolders to
create and install a customised crontab for each user in the folder.
It does this by concatenating one liner crontab files/links following the naming
pattern "crontab*" into an uber crontab.

For crontab snippet placeholder substitutions, please see
${GIT_ROOT}/configuration/crontabs/README.

environment_scripts (directory)
|
|_{environment_type} (directory)
    |
    |_usefulScripts
    |_files (directory)
    |   |
    |   |_{contents to copy to environment, starting from / folder}
    |
    |_users (directory)
        |
        |_user1 (directory)
            |
            |_symbolicLinks (to configuration/crontabs)


The build-crontab-and-cp-files script is not installed to /usr/local/bin,
so in order to actually perform this crontab setup and file copying from 
on an instance, you will need to use the build_crontab_and_setup-files function
from imageupgrade_functions.sh, which copies the latest environment_scripts 
folder onto the local instance and then executes the build-crontab-and-cp-files 
script, within the directory. This allows for a single dependency and calling method.
Furthermore, it means the latest version of the build-crontab-and-cp-files script 
is always used.