40 lines
1.0 KiB
Python
Raw Normal View History

import vcs.base
import shutil
import json
import os
class Action(vcs.base.VCSBase):
"""Stub VCS interface implementation for running as an action"""
@staticmethod
def _read_context():
env = os.environ["GITHUB_CONTEXT"]
return json.loads(env)
def __init__(self, logger):
self.logger = logger
self.context = Action._read_context()
self.logger.debug(f'Github Context: {self.context}')
@property
def name(self) -> str:
return "ACTION"
def get_path(self, *args):
raise NotImplementedError
def checkout_package(
self,
target_project: str,
target_package: str,
pathname,
**kwargs
):
# XXX verify `target_project` & `target_package`?
src = os.environ["GITHUB_WORKSPACE"]
dst = f'{pathname}/{target_package}'
self.logger.debug(f'checkout: {src} -> {dst}')
self.logger.debug('Contenxt: ', self.context)
shutil.copytree(src, dst)