test-dispatch #56
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Ska Package | |
on: | |
repository_dispatch: | |
types: | |
- test-dispatch | |
jobs: | |
arguments: | |
runs-on: ubuntu-latest | |
outputs: | |
package: ${{ steps.arguments.outputs.package }} | |
tag: ${{ steps.arguments.outputs.tag }} | |
arch: ${{ steps.arguments.outputs.arch }} | |
upload: ${{ steps.arguments.outputs.upload }} | |
python_version: ${{ steps.arguments.outputs.python_version }} | |
numpy_version: ${{ steps.arguments.outputs.numpy_version }} | |
channel_in: ${{ steps.arguments.outputs.channel_in }} | |
channel_out: ${{ steps.arguments.outputs.channel_out }} | |
steps: | |
- name: Check arguments | |
id: arguments | |
run: | | |
MISSING="" | |
set_default() { | |
if [[ -z "$2" ]]; then | |
echo "Setting default value for $1" | |
echo "$1=$3" >> $GITHUB_OUTPUT | |
else | |
echo "$1=$2" >> $GITHUB_OUTPUT | |
fi | |
} | |
require () { | |
if [[ -z "$2" ]]; then | |
echo "Required value $1 not given" | |
MISSING="$MISSING $1" | |
else | |
echo "$1=$2" >> $GITHUB_OUTPUT | |
fi | |
} | |
set_boolean_default() { | |
if [[ -z "$2" ]]; then | |
echo "Setting default value for $1" | |
echo "$1=$3" >> $GITHUB_OUTPUT | |
elif [[ "$2" == "true" || "$2" == "True" ]]; then | |
echo "$1=true" >> $GITHUB_OUTPUT | |
else | |
echo "$1=false" >> $GITHUB_OUTPUT | |
fi | |
} | |
require package ${{ github.event.client_payload.package }} | |
require tag ${{ github.event.client_payload.tag }} | |
set_boolean_default arch "${{ github.event.client_payload.arch }}" false | |
set_boolean_default upload "${{ github.event.client_payload.upload }}" false | |
set_default python_version "${{ github.event.client_payload.python_version }}" 3.11 | |
set_default numpy_version "${{ github.event.client_payload.numpy_version }}" 1.26.2 | |
set_default channel_in "${{ github.event.client_payload.channe_in }}" "flight" | |
set_default channel_out "${{ github.event.client_payload.channel_out }}" "test" | |
if [ "${{ github.event.client_payload.upload }}" == "" ]; then echo upload is not given; fi | |
if [ "${{ github.event.client_payload.upload }}" == "false" ]; then echo upload is false; fi | |
if [ "${{ github.event.client_payload.upload }}" == "False" ]; then echo upload is False; fi | |
if [[ ! -z $MISSING ]]; then echo "::warning:: Missing parameters: $MISSING"; exit 1; fi | |
- name: Add summary | |
run: | | |
echo "## Payload Arguments" >> $GITHUB_STEP_SUMMARY | |
echo "- Package: ${{ steps.arguments.outputs.package }}" >> $GITHUB_STEP_SUMMARY | |
echo "- Tag: ${{ steps.arguments.outputs.tag }}" >> $GITHUB_STEP_SUMMARY | |
echo "- Arch: ${{ steps.arguments.outputs.arch }}" >> $GITHUB_STEP_SUMMARY | |
echo "- Upload: ${{ steps.arguments.outputs.upload }}" >> $GITHUB_STEP_SUMMARY | |
echo "- Python version: ${{ steps.arguments.outputs.python_version }}" >> $GITHUB_STEP_SUMMARY | |
echo "- Numpy version: ${{ steps.arguments.outputs.numpy_version }}" >> $GITHUB_STEP_SUMMARY | |
echo "- Input channel: ${{ steps.arguments.outputs.channel_in }}" >> $GITHUB_STEP_SUMMARY | |
echo "- Output channel: ${{ steps.arguments.outputs.channel_out }}" >> $GITHUB_STEP_SUMMARY | |
- name: Arch | |
run: | | |
echo "Arch: '${{ github.event.client_payload.arch }}'" | |
echo "not arch: '${{ !github.event.client_payload.arch }}'" | |
echo "not Arch (2): ${{ (github.event.client_payload.arch != 'true') && (github.event.client_payload.arch != 'True')}}" | |
echo "not Arch (3): ${{ !github.event.client_payload.arch && (github.event.client_payload.arch != 'true') && (github.event.client_payload.arch != 'True')}}" | |
echo "not Arch (4): ${{ fromJSON(github.event.client_payload.arch) }}" | |
echo "not Arch (5): ${{ !github.event.client_payload.arch && fromJSON(github.event.client_payload.arch) }}" | |
build: | |
runs-on: ubuntu-latest | |
needs: arguments | |
steps: | |
- name: Arch | |
run: | | |
echo "Arch: '${{ needs.arguments.outputs.arch }}'" | |
- name: If arch | |
if: ${{ needs.arguments.outputs.arch == 'true' }} | |
run: echo "arch" | |
- name: If not arch | |
if: ${{ needs.arguments.outputs.arch == 'false' }} | |
run: echo "not arch" | |
- name: List arguments | |
run: | | |
echo "Package: ${{ needs.arguments.outputs.package }}" | |
echo "Tag: ${{ needs.arguments.outputs.tag }}" | |
echo "Arch: ${{ needs.arguments.outputs.arch }}" | |
echo "Upload: ${{ needs.arguments.outputs.upload }}" | |
echo "Python version: ${{ needs.arguments.outputs.python_version }}" | |
echo "Numpy version: ${{ needs.arguments.outputs.numpy_version }}" | |
echo "Input channel: ${{ needs.arguments.outputs.channel_in }}" | |
echo "Output channel: ${{ needs.arguments.outputs.channel_out }}" | |
- name: Upload | |
if: ${{ github.event.client_payload.upload }} | |
run: echo "Uploading" |