Reference: GitHub Actions
GitHub Actions are the glue that ties together disparate components of the Paradicms system. A GitHub Action like spreadsheet-etl-action
extracts data from a source like Google Sheets, transforms it to the Paradicms data model, and loads it into a file that can be consumed by a downstream action such as ssg-action
. ssg-action
feeds the data to an app-specific static site generator (SSG). The result is a set of HTML, CSS, and JavaScript files which can be deployed to a static file hosting service such as GitHub Pages.
This page documents the GitHub Actions provided by Paradicms, with one section per action.
airtable-etl-action
The airtable-etl-action
extracts, transforms, and loads collection data from an Airtable base.
Inputs
Name | Description | Optional/Required | Default |
---|---|---|---|
airtable_access_token | Airtable access token (not API key), see https://support.airtable.com/docs/creating-and-using-api-keys-and-access-tokens | Required | |
airtable_base_id | Airtable base id such as appgU92SdGTwPIVNg, see the base API documentation | Required | |
cache_directory_path | Path to a directory in which to store cached data | Optional | .paradicms/.cache |
debug | Debug the action | Optional | |
loaded_data_directory_path | Path to a directory in which to store the loaded RDF file | Optional | .paradicms/data |
loaded_data_file_path | Path to a file in which to store the loaded RDF, overrides data_directory_path if specified | Optional | |
pipeline_id | Pipeline id. Defaults to the name of the repository. | Optional | |
profile | Application profile of the data/metadata in the Airtable metadata, one of: costume_core | Optional | costume_core |
Example
The example is adapted from the Airtable template repository. The tutorial on generating a faceted search interface using data in Airtable explains the role of this action in context.
uses: paradicms/airtable-etl-action@v1-beta
with:
airtable_access_token: ${{ secrets.AIRTABLE_ACCESS_TOKEN }}
airtable_base_id: ${{ secrets.AIRTABLE_BASE_ID }}
directory-etl-action
The directory-etl-action
extracts, transforms, and loads collection data from a directory of files with a prescribed structure. The files must reside in the GitHub repository.
Inputs
Name | Description | Optional/Required | Default |
---|---|---|---|
cache_directory_path | Path to a directory in which to store cached data | Optional | .paradicms/.cache |
debug | Debug the action | Optional | |
input_directory_path | Path to a directory of JSON, Markdown, YAML, and/or other files containing data to extract, transform, and load | Optional | . |
loaded_data_directory_path | Path to a directory in which to store the loaded RDF file | Optional | .paradicms/data |
loaded_data_file_path | Path to a file in which to store the loaded RDF, overrides data_directory_path if specified | Optional | |
pipeline_id | Pipeline id. Defaults to the name of the repository. | Optional |
Example
The example is adapted from the directory template repository. The tutorial on using files to generate a digital exhibition explains the role of this action in context.
uses: paradicms/directory-etl-action@v1-beta
spreadsheet-etl-action
The spreadsheet-etl-action
extracts, transforms, and loads collection data from a spreadsheet. The spreadsheet can reside on Google Sheets or in an Excel 2010 file (.xlsx
) in the GitHub repository.
Inputs
Name | Description | Optional/Required | Default |
---|---|---|---|
spreadsheet | Google Sheets spreadsheet id, Google Sheet URL, or path to an Excel 2010 (.xlsx) file | Required | |
cache_directory_path | Path to a directory in which to store cached data | Optional | .paradicms/.cache |
debug | Debug the action | Optional | |
loaded_data_directory_path | Path to a directory in which to store the loaded RDF file | Optional | .paradicms/data |
loaded_data_file_path | Path to a file in which to store the loaded RDF, overrides data_directory_path if specified | Optional | |
pipeline_id | Pipeline id. Defaults to the name of the repository. | Optional |
spreadsheet
must be one of:
- a Google Sheets spreadsheet id, such as
1j2oaMvMxY4pnXO-sEH_fky2R2gm6TQeIev_Q8rVOD4M
- the full URL of a Google Sheet, such as
https://docs.google.com/spreadsheets/d/1j2oaMvMxY4pnXO-sEH_fky2R2gm6TQeIev_Q8rVOD4M/edit?usp=sharing
- the path to an Excel 2010 file (
.xlsx
) within the repository, such asdata/data.xlsx
Example
The example is adapted from the
uses: paradicms/spreadsheet-etl-action@v1-beta
with:
spreadsheet: 1j2oaMvMxY4pnXO-sEH_fky2R2gm6TQeIev_Q8rVOD4M
ssg-action
The ssg-action
generates a Paradicms app from data previously extracted, transformed, and loaded by one of the ETL actions (above).
Inputs
Name | Description | Optional/Required | Default |
---|---|---|---|
cache_directory_path | Path to a directory in which to store cached data | Optional | .paradicms/.cache |
data_paths | colon-separated paths to one or more data files created by ETL actions, or directories containing data files | Optional | .paradicms/data |
debug | Debug the action | Optional | |
pipeline_id | Pipeline id. Defaults to the name of the repository. | Optional | |
site_directory_path | Path to a directory where the generated static assets (CSS, HTML, JavaScript) should be placed | Optional | _site |
Example
The example is adapted from the directory template repository. The tutorial on using files to generate a digital exhibition explains the role of this action in context.
- uses: paradicms/directory-etl-action@v1-beta
- uses: paradicms/ssg-action@v1-beta