setup-scoop
action provides functions below- Install
scoop
to your Windows runner - Update
PATH
environment variable - Install applications by
scoop
- Install
- If you want to install "Doxygen" and "PlantUML", put codes like this into your workflow YAML
- uses: MinoruSekine/[email protected]
with:
buckets: extras
apps: doxygen plantuml
windows-latest
windows-2019
- Parameters can be specified by
with:
like this
with:
buckets: extras
scoop_checkup: 'true'
- If
true
(default),scoop
will be installed - If
false
,scoop
will not be installed- For example, it is unnecessary to install scoop because cached
~/scoop/
will be recovered
- For example, it is unnecessary to install scoop because cached
- If
true
(default),scoop
will be installed with option-RunAsAdmin
- Windows Runners provided by GitHub may need this, because currently they run with Administrator privilege
- If
false
,scoop
will be installed without option-RunAsAdmin
- Specify bucket(s) to add
- Delimit several buckets by white space like as
extras nonportable games
- Bucket(s) specified by this parameter must be "known" buckets, you can confirm them by
scoop bucket known
command
- Delimit several buckets by white space like as
- This parameter is optional, no extra buckets will be added if omitted
- Specify application(s) to add
- Delimit several applications by white space like as
plantuml doxygen
- Delimit several applications by white space like as
- This parameter is optional, no applications will be installed if omitted
- If
true
(default),scoop update
will be processed after installation - If
false
, it will not
- If
true
,scoop checkup
will be processed after installation - If
false
(default), it will not
- If
true
(default), path toscoop
will be added into environment variablePATH
- If
false
, environment variablePATH
will not be updated
- If cache is available,
install_scoop
will befalse
to skip installation and onlyupdate_path
will betrue
- Include
packages_to_install
into cache seed to validate cache is including enough apps or not - Increment
cache_version
if cache should be expired without changingpackages_to_install
env:
packages_to_install: shellcheck
cache_version: v0
cache_hash_seed_file_path: './.github/workflows/cache_seed_file_for_scoop.txt'
(snipped)
jobs:
build:
steps:
- name: Create cache seed file
run: echo ${{ env.packages_to_install }} >> ${{ env.cache_hash_seed_file_path }}
- name: Restore cache if available
id: restore_cache
uses: actions/cache@v4
with:
path: ${{ matrix.to_cache_dir }}
key: cache_version_${{ env.cache_version }}-${{ hashFiles(env.cache_hash_seed_file_path) }}
- name: Install scoop (Windows)
uses: MinoruSekine/[email protected]
if: steps.restore_cache.outputs.cache-hit != 'true'
with:
install_scoop: 'true'
buckets: extras
apps: ${{ env.packages_to_install }}
scoop_update: 'true'
update_path: 'true'
- name: Setup scoop PATH (Windows)
uses: MinoruSekine/[email protected]
if: steps.restore_cache.outputs.cache-hit == 'true'
with:
install_scoop: 'false'
scoop_update: 'false'
update_path: 'true'