import os import sys from dotenv import load_dotenv import shutil import boto3 from botocore.exceptions import ClientError def install_zola(): version = os.environ["INPUT_VERSION"] access_key = os.environ["INPUT_ACCESS_KEY"] secret_key = os.environ["INPUT_SECRET_KEY"] endpoint = os.environ["INPUT_ENDPOINT"] bucket = os.environ["INPUT_BUCKET"] zola_filename = "zola-" + version try: # Create S3 client for S3-compatible storage s3_client = boto3.client( 's3', aws_access_key_id=access_key, aws_secret_access_key=secret_key, endpoint_url=endpoint ) # Download file from S3-compatible storage s3_client.download_file(bucket, zola_filename, zola_filename) print("文件下载成功!") # Install zola binary shutil.copy(zola_filename, "/usr/local/bin/zola") os.chmod("/usr/local/bin/zola", 0o755) print("Zola 安装成功!") except ClientError as e: print(f"S3 Error: {str(e)}") sys.exit(1) except Exception as e: print(f"Error: {str(e)}") sys.exit(1) if __name__ == "__main__": load_dotenv() install_zola()