#******************************************************************************* # buidReleaseInclDocker.yml # # Interlisp webflow to build a Medley release and push it to github. # And to build a multiplatform Docker image for the release and push it to Docker Hub. # # This workflow just calls two reuseable workflows to the two task: # buildLoadup.yml and buildDocker.yml # # 2022-01-18 Frank Halasz # # Copyright 2022 by Interlisp.org # # ****************************************************************************** name: "Build/Push Release & Docker" # Run this workflow on ... on: schedule: - cron: '0 9 * * 1' workflow_dispatch: inputs: draft: description: "Mark this as a draft release" type: choice options: - 'false' - 'true' force: description: "Force build even if build already successfully completed for this commit" type: choice options: - 'false' - 'true' workflow_call: outputs: successful: description: "'True' if medley build completed successully" value: ${{ jobs.complete.outputs.build_successful }} inputs: draft: description: "Mark this as a draft release" required: false type: string default: 'false' force: description: "Force build even if build already successfully completed for this commit" required: false type: string default: 'false' defaults: run: shell: bash # Jobs that compose this workflow jobs: ###################################################################################### # Regularize the inputs so they can be referenced the same way whether they are # the result of a workflow_dispatch or a workflow_call inputs: runs-on: ubuntu-latest outputs: draft: ${{ steps.one.outputs.draft }} force: ${{ steps.one.outputs.force }} steps: - id: one run: > if [ '${{ toJSON(inputs) }}' != 'null' ]; then echo "draft=${{ inputs.draft }}" >> $GITHUB_OUTPUT; echo "force=${{ inputs.force }}" >> $GITHUB_OUTPUT; else echo "draft=false" >> $GITHUB_OUTPUT; echo "force=false" >> $GITHUB_OUTPUT; fi ###################################################################################### # Build Loadup do_release: needs: inputs uses: ./.github/workflows/buildLoadup.yml with: draft: ${{ needs.inputs.outputs.draft }} force: ${{ needs.inputs.outputs.force }} secrets: OIO_SSH_KEY: ${{ secrets.OIO_SSH_KEY }} ###################################################################################### # Build Docker Image do_docker: needs: [inputs, do_release] uses: ./.github/workflows/buildDocker.yml with: draft: ${{ needs.inputs.outputs.draft }} force: ${{ needs.inputs.outputs.force }} secrets: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} ######################################################################################