[Ubuntu] cache most used GitHub actions

This commit is contained in:
Tingluo Huang
2023-10-11 13:31:13 -04:00
committed by GitHub
parent 32f2e8a812
commit a80012b48e
4 changed files with 43 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
#!/bin/bash -e
################################################################################
## File: action-archive-cache.sh
## Desc: Download latest release from https://github.com/actions/action-verions
## and un-tar to /opt/actionarchivecache
## Maintainer: #actions-runtime and @TingluoHuang
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
source $HELPER_SCRIPTS/etc-environment.sh
# Prepare directory and env variable for ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE
ACTION_ARCHIVE_CACHE_DIR=/opt/actionarchivecache
mkdir -p $ACTION_ARCHIVE_CACHE_DIR
chmod -R 777 $ACTION_ARCHIVE_CACHE_DIR
echo "Setting up ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE variable to ${ACTION_ARCHIVE_CACHE_DIR}"
addEtcEnvironmentVariable ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE ${ACTION_ARCHIVE_CACHE_DIR}
# Download latest release from github.com/actions/action-versions and untar to /opt/actionarchivecache
downloadUrl=$(get_github_package_download_url "actions/action-versions" "contains(\"action-versions.tar.gz\")")
echo "Downloading action-versions $downloadUrl"
download_with_retries "$downloadUrl" "/tmp" action-versions.tar.gz
tar -xzf /tmp/action-versions.tar.gz -C $ACTION_ARCHIVE_CACHE_DIR
invoke_tests "ActionArchiveCache"

View File

@@ -0,0 +1,15 @@
Describe "ActionArchiveCache" {
Context "Action archive cache directory not empty" {
It "/opt/actionarchivecache not empty" {
(Get-ChildItem -Path "/opt/actionarchivecache/*.tar.gz" -Recurse).Count | Should -BeGreaterThan 0
}
}
Context "Action tarball not empty" {
$testCases = Get-ChildItem -Path "/opt/actionarchivecache/*.tar.gz" -Recurse | ForEach-Object { @{ ActionTarball = $_.FullName } }
It "<ActionTarball>" -TestCases $testCases {
param ([string] $ActionTarball)
(Get-Item "$ActionTarball").Length | Should -BeGreaterThan 0
}
}
}

View File

@@ -196,6 +196,7 @@
{ {
"type": "shell", "type": "shell",
"scripts": [ "scripts": [
"{{template_dir}}/scripts/installers/action-archive-cache.sh",
"{{template_dir}}/scripts/installers/apt-common.sh", "{{template_dir}}/scripts/installers/apt-common.sh",
"{{template_dir}}/scripts/installers/azcopy.sh", "{{template_dir}}/scripts/installers/azcopy.sh",
"{{template_dir}}/scripts/installers/azure-cli.sh", "{{template_dir}}/scripts/installers/azure-cli.sh",

View File

@@ -280,6 +280,7 @@ build {
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}", "DEBIAN_FRONTEND=noninteractive"] environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}", "DEBIAN_FRONTEND=noninteractive"]
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
scripts = [ scripts = [
"${path.root}/scripts/installers/action-archive-cache.sh",
"${path.root}/scripts/installers/apt-common.sh", "${path.root}/scripts/installers/apt-common.sh",
"${path.root}/scripts/installers/azcopy.sh", "${path.root}/scripts/installers/azcopy.sh",
"${path.root}/scripts/installers/azure-cli.sh", "${path.root}/scripts/installers/azure-cli.sh",