Skip to content

Commit

Permalink
add back workflow draft
Browse files Browse the repository at this point in the history
  • Loading branch information
FynnBe committed Feb 22, 2024
1 parent c8b31a1 commit 17af9f4
Show file tree
Hide file tree
Showing 4 changed files with 96 additions and 0 deletions.
26 changes: 26 additions & 0 deletions .github/workflows/backup.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: backup

on:
schedule:
- cron: "0 0 * * 0" # every sunday at midnight

concurrency: ${{vars.ZENODO_URL}}

env:
S3_HOST: ${{vars.S3_HOST}}
S3_BUCKET: ${{vars.S3_BUCKET}}
S3_FOLDER: ${{vars.S3_FOLDER}}
ZENODO_URL: ${{vars.ZENODO_URL}}
S3_ACCESS_KEY_ID: ${{secrets.S3_ACCESS_KEY_ID}}
S3_SECRET_ACCESS_KEY: ${{secrets.S3_SECRET_ACCESS_KEY}}
ZENODO_API_ACCESS_TOKEN: ${{secrets.ZENODO_API_ACCESS_TOKEN}}

jobs:
call:
uses: ./.github/workflows/publish_call.yaml
with:
S3_HOST: ${{vars.S3_HOST}}
S3_BUCKET: ${{vars.S3_BUCKET}}
S3_FOLDER: ${{vars.S3_FOLDER}}
ZENODO_URL: ${{vars.ZENODO_URL}}
secrets: inherit
41 changes: 41 additions & 0 deletions .github/workflows/backup_call.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: backup

on:
workflow_call:
inputs:
S3_HOST:
required: true
type: string
S3_BUCKET:
required: true
type: string
S3_FOLDER:
required: true
type: string
ZENODO_URL:
required: true
type: string

concurrency: ${{ZENODO_URL}}

env:
S3_HOST: ${{inputs.S3_HOST}}
S3_BUCKET: ${{inputs.S3_BUCKET}}
S3_FOLDER: ${{inputs.S3_FOLDER}}
ZENODO_URL: ${{inputs.ZENODO_URL}}
S3_ACCESS_KEY_ID: ${{secrets.S3_ACCESS_KEY_ID}}
S3_SECRET_ACCESS_KEY: ${{secrets.S3_SECRET_ACCESS_KEY}}
ZENODO_API_ACCESS_TOKEN: ${{secrets.ZENODO_API_ACCESS_TOKEN}}

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: "pip" # caching pip dependencies
- run: pip install -r requirements.txt
- run: |
python scripts/backup.py
25 changes: 25 additions & 0 deletions scripts/backup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import os

import typer
from dotenv import load_dotenv
from loguru import logger
from utils.s3_client import Client

_ = load_dotenv()


def backup():
"""backup collection
Returns:
list of folders and file names backed up
"""
client = Client()
content_to_backup = list(client.ls(""))
destination = os.environ["ZENODO_URL"]
logger.error("Backup to '{}': {}", destination, content_to_backup)
return content_to_backup


if __name__ == "__main__":
typer.run(backup)
4 changes: 4 additions & 0 deletions tests/test_scripts/test_utils/test_remote_resource.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
def test_lifecycle(
client: "Client", package_url: str, package_id: str, s3_test_folder_url: str
):
from scripts.backup import backup
from scripts.utils.remote_resource import (
PublishedVersion,
RemoteResource,
Expand All @@ -27,3 +28,6 @@ def test_lifecycle(
assert (
published_rdf_url == f"{s3_test_folder_url}frank-water-buffalo/1/files/rdf.yaml"
)

backed_up = backup()
assert backed_up == ["frank-water-buffalo"]

0 comments on commit 17af9f4

Please sign in to comment.