@@ -8,28 +8,45 @@ inputs:
88 description : ' Version of the EESSI stack to configure'
99 required : false
1010 default : ' 2023.06'
11+ eessi_repositories :
12+ description : ' Comma-separated list of fully qualified repository names that shall be mountable under /cvmfs.'
13+ required : false
14+ default : ' software.eessi.io,dev.eessi.io'
1115
1216runs :
1317 using : " composite"
1418 steps :
15- - uses : cvmfs-contrib/github-action-cvmfs@55899ca74cf78ab874bdf47f5a804e47c198743c # v4.0
19+ - uses : cvmfs-contrib/github-action-cvmfs@cec5c94a14714ab02980682fce8ab3de238401f9 # v4.0 + MacOS support
1620 with :
17- cvmfs_config_package : https://github.com/EESSI/filesystem-layer/releases/download/latest/cvmfs-config-eessi_latest_all.deb
21+ # Can't use config package for macOS but our repos are available with the default configuration anyway
22+ # cvmfs_config_package: https://github.com/EESSI/filesystem-layer/releases/download/latest/cvmfs-config-eessi_latest_all.deb
1823 cvmfs_http_proxy : DIRECT
19- cvmfs_repositories : software.eessi.io
24+ cvmfs_repositories : ' cvmfs-config.cern.ch,${{ inputs.eessi_repositories }} '
2025 - id : install-eessi
2126 run : |
22- echo "EESSI_SILENT=1" >> $GITHUB_ENV
23- echo 'unset BASH_ENV' >> $HOME/env_config.export
24- echo "source /cvmfs/software.eessi.io/versions/$EESSI_STACK_VERSION/init/bash" >> $HOME/env_config.export
25- sudo apt install -y direnv
26- echo 'eval "$(direnv export bash)"' >> $HOME/env_config.export
27- mkdir -p $HOME/direnv/
28- echo "[whitelist]" >> $HOME/direnv/direnv.toml
29- echo "prefix = [ '$GITHUB_WORKSPACE' ]" >> $HOME/direnv/direnv.toml
30- cp $HOME/direnv/direnv.toml $HOME/direnv/config.toml
31- echo "BASH_ENV=$HOME/env_config.export" >> $GITHUB_ENV
32- echo "DIRENV_CONFIG=$HOME/direnv" >> $GITHUB_ENV
27+ if [ "$RUNNER_OS" == "Linux" ]; then
28+ echo "EESSI_SILENT=1" >> $GITHUB_ENV
29+ echo 'unset BASH_ENV' >> $HOME/env_config.export
30+ echo "source /cvmfs/software.eessi.io/versions/$EESSI_STACK_VERSION/init/bash" >> $HOME/env_config.export
31+ sudo apt install -y direnv
32+ echo 'eval "$(direnv export bash)"' >> $HOME/env_config.export
33+ mkdir -p $HOME/direnv/
34+ echo "[whitelist]" >> $HOME/direnv/direnv.toml
35+ echo "prefix = [ '$GITHUB_WORKSPACE' ]" >> $HOME/direnv/direnv.toml
36+ cp $HOME/direnv/direnv.toml $HOME/direnv/config.toml
37+ echo "BASH_ENV=$HOME/env_config.export" >> $GITHUB_ENV
38+ echo "DIRENV_CONFIG=$HOME/direnv" >> $GITHUB_ENV
39+ elif [ "$RUNNER_OS" == "macOS" ]; then
40+ # EESSI on macOS requires lima so we get a Linux VM, see https://gitlab.com/eessi/support/-/issues/70
41+ # (unfortunately this requires nested virtualisation in GitHub Actions which is not available with M1)
42+ brew install lima
43+ # limactl create --vm-type=vz --mount-type=virtiofs --network vzNAT --name eessi ./eessi.yaml
44+ # limactl create --name eessi ./eessi.yaml
45+ # limactl start eessi
46+ ## For debugging
47+ # limactl start eessi || true
48+ # cat /Users/runner/.lima/eessi/ha.stderr.log
49+ fi
3350 shell : bash
3451 env :
3552 EESSI_STACK_VERSION : ${{ inputs.eessi_stack_version }}
0 commit comments