Skip to content

ODS-tools Build

ODS-tools Build #4

Workflow file for this run

name: ODS-tools Build
on:
workflow_dispatch:
inputs:
oed_spec_branch:
description: 'Branch of OED spec'
required: false
workflow_call:
inputs:
ods_branch:
description: 'Build package from branch'
required: false
type: string
oed_spec_json:
description: 'Test unreleased OED spec'
required: false
type: string
outputs:
src_filename:
description: "Source Package filename"
value: ${{ jobs.build.outputs.src_filename }}
whl_filename:
description: "Wheel Package filename"
value: ${{ jobs.build.outputs.whl_filename }}
jobs:
oed_spec:
if: inputs.oed_spec_branch != ''
uses: OasisLMF/ODS_OpenExposureData/.github/workflows/build.yml@develop
secrets: inherit
with:
ods_branch: ${{ inputs.oed_spec_branch }}
build:
if: ${{ ! failure() || ! cancelled() }}
needs: [oed_spec]
name: Build OpenData Package
runs-on: ubuntu-latest
outputs:
src_filename: ${{ steps.build_package.outputs.source }}
whl_filename: ${{ steps.build_package.outputs.wheel }}
steps:
- name: Github context
run: echo "$GITHUB_CONTEXT"
shell: bash
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
- name: Clone
uses: actions/checkout@v3
if: inputs.ods_branch == ''
with:
repository: OasisLMF/ODS_Tools
ref: ${{ github.ref_name }}
- name: Clone (workflow_call)
uses: actions/checkout@v3
if: inputs.ods_branch != ''
with:
repository: OasisLMF/ODS_Tools
ref: ${{ inputs.ods_branch }}
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.9
- run: pip install pip-tools pandas pyarrow openpyxl==3.0.10 click tox wheel
- name: Build package (from OED release)
if: inputs.oed_spec_json == ''
run: |
python setup.py sdist
python setup.py bdist_wheel
- name: Download OED spec
if: inputs.oed_spec_json != '' || inputs.oed_spec_branch != ''
uses: actions/download-artifact@v3
with:
name: extracted_spec
path: ${{ github.workspace }}/
# Testing only - not for release
- name: Buildpackage (from OED schema file)
if: inputs.oed_spec_json != '' || inputs.oed_spec_branch != ''
run: |
python setup.py bdist_wheel install "--local-oed-spec=${{ github.workspace }}/OpenExposureData_Spec.json"
- name: Build Output
id: build_package
run: |
WHL=$(find ./dist/ -name "*.whl" -exec basename {} \;)
SRC=$(find ./dist/ -name "*.tar.gz" -exec basename {} \;)
echo "wheel=$WHL" >> $GITHUB_OUTPUT
echo "source=$SRC" >> $GITHUB_OUTPUT
- name: Store source package
uses: actions/upload-artifact@v3
with:
name: src_package
path: ./dist/${{ steps.build_package.outputs.source }}
retention-days: 5
- name: Store Wheel package
uses: actions/upload-artifact@v3
with:
name: bin_package
path: ./dist/${{ steps.build_package.outputs.wheel }}
retention-days: 5