devel-sofa-all #111
This file contains hidden or 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: devel-sofa-all | |
| on: | |
| # schedule: | |
| # Nightly launches at 1:15 | |
| # - cron: '15 1 * * *' | |
| workflow_dispatch: | |
| inputs: | |
| sofa-git-sha: | |
| description: 'SOFA git commit SHA1' | |
| required: true | |
| type: string | |
| default: 'master' | |
| sofa-git-commit-date: | |
| description: 'SOFA git commit date' | |
| required: true | |
| type: string | |
| default: 'NODATE' # for testing | |
| sofa-python3-git-sha: | |
| description: 'sofa-python3 git commit SHA1' | |
| required: true | |
| type: string | |
| default: 'master' | |
| sofa-python3-git-commit-date: | |
| description: 'sofa-python3 git commit date' | |
| required: true | |
| type: string | |
| default: 'NODATE' # for testing | |
| sofa-glfw-git-sha: | |
| description: 'sofa-glfw git commit SHA1' | |
| required: true | |
| type: string | |
| default: 'master' | |
| sofa-glfw-git-commit-date: | |
| description: 'sofa-glfw git commit date' | |
| required: true | |
| type: string | |
| default: 'NODATE' # for testing | |
| repository_dispatch: | |
| types: [build-devel-sofa-all] | |
| jobs: | |
| extract-params: | |
| runs-on: ubuntu-slim | |
| outputs: | |
| sofa-git-sha: ${{ steps.params.outputs.sofa-git-sha }} | |
| sofa-git-commit-date: ${{ steps.params.outputs.sofa-git-commit-date }} | |
| sofa-python3-git-sha: ${{ steps.params.outputs.sofa-python3-git-sha }} | |
| sofa-python3-git-commit-date: ${{ steps.params.outputs.sofa-python3-git-commit-date }} | |
| sofa-glfw-git-sha: ${{ steps.params.outputs.sofa-glfw-git-sha }} | |
| sofa-glfw-git-commit-date: ${{ steps.params.outputs.sofa-glfw-git-commit-date }} | |
| steps: | |
| - name: Extract parameters | |
| id: params | |
| run: | | |
| if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then | |
| echo "sofa-git-sha=${{ inputs.sofa-git-sha }}" >> $GITHUB_OUTPUT | |
| echo "sofa-git-commit-date=${{ inputs.sofa-git-commit-date }}" >> $GITHUB_OUTPUT | |
| echo "sofa-python3-git-sha=${{ inputs.sofa-python3-git-sha }}" >> $GITHUB_OUTPUT | |
| echo "sofa-python3-git-commit-date=${{ inputs.sofa-python3-git-commit-date }}" >> $GITHUB_OUTPUT | |
| echo "sofa-glfw-git-sha=${{ inputs.sofa-glfw-git-sha }}" >> $GITHUB_OUTPUT | |
| echo "sofa-glfw-git-commit-date=${{ inputs.sofa-glfw-git-commit-date }}" >> $GITHUB_OUTPUT | |
| elif [ "${{ github.event_name }}" == "repository_dispatch" ]; then | |
| echo "sofa-git-sha=${{ github.event.client_payload.sofa_commit_hash }}" >> $GITHUB_OUTPUT | |
| echo "sofa-git-commit-date=${{ github.event.client_payload.sofa_commit_date }}" >> $GITHUB_OUTPUT | |
| echo "sofa-python3-git-sha=${{ github.event.client_payload.sofa_python3_commit_hash }}" >> $GITHUB_OUTPUT | |
| echo "sofa-python3-git-commit-date=${{ github.event.client_payload.sofa_python3_commit_date }}" >> $GITHUB_OUTPUT | |
| echo "sofa-glfw-git-sha=${{ github.event.client_payload.sofa_glfw_commit_hash }}" >> $GITHUB_OUTPUT | |
| echo "sofa-glfw-git-commit-date=${{ github.event.client_payload.sofa_glfw_commit_date }}" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Check parameters | |
| run: | | |
| echo "✓ sofa-git-sha: ${{ steps.params.outputs.sofa-git-sha }}" | |
| echo "✓ sofa-git-commit-date: ${{ steps.params.outputs.sofa-git-commit-date }}" | |
| echo "✓ sofa-python3-git-sha: ${{ steps.params.outputs.sofa-python3-git-sha }}" | |
| echo "✓ sofa-python3-git-commit-date: ${{ steps.params.outputs.sofa-python3-git-commit-date }}" | |
| echo "✓ sofa-glfw-git-sha: ${{ steps.params.outputs.sofa-glfw-git-sha }}" | |
| echo "✓ sofa-glfw-git-commit-date: ${{ steps.params.outputs.sofa-glfw-git-commit-date }}" | |
| notify-begin: | |
| runs-on: ubuntu-slim | |
| if: ${{ github.event_name == 'repository_dispatch' }} | |
| needs: extract-params | |
| steps: | |
| - name: Notify commit begin | |
| shell: bash | |
| run: | | |
| curl -L \ | |
| -X POST \ | |
| -H "Accept: application/vnd.github+json" \ | |
| -H "Authorization: Bearer ${{ secrets.PERF_REG_TOKEN }}" \ | |
| -H "X-GitHub-Api-Version: 2022-11-28" \ | |
| https://api.github.com/repos/sofa-framework/sofa/statuses/${{ needs.extract-params.outputs.sofa-git-sha }} \ | |
| -d '{"state":"pending","target_url":"https://github.com/sofa-framework/conda-ci/actions/runs/${{ github.run_id }}","description":"Conda devel packages build started...","context":"conda-ci"}' | |
| build-publish-sofa: | |
| uses: ./.github/workflows/devel-sofa.yml | |
| if: always() | |
| needs: extract-params | |
| with: | |
| git-sha: ${{ needs.extract-params.outputs.sofa-git-sha }} | |
| git-commit-date: ${{ needs.extract-params.outputs.sofa-git-commit-date }} | |
| secrets: inherit | |
| build-publish-sofa-python3: | |
| uses: ./.github/workflows/devel-sofa-python3.yml | |
| needs: [build-publish-sofa, extract-params] | |
| if: ${{ needs.build-publish-sofa.result == 'success' }} | |
| with: | |
| git-sha: ${{ needs.extract-params.outputs.sofa-python3-git-sha }} | |
| git-commit-date: ${{ needs.extract-params.outputs.sofa-python3-git-commit-date }} | |
| sofa-git-sha: ${{ needs.extract-params.outputs.sofa-git-sha }} | |
| secrets: inherit | |
| build-publish-sofa-glfw: | |
| uses: ./.github/workflows/devel-sofa-glfw.yml | |
| needs: [build-publish-sofa, build-publish-sofa-python3, extract-params] | |
| if: ${{ needs.build-publish-sofa.result == 'success' }} | |
| with: | |
| git-sha: ${{ needs.extract-params.outputs.sofa-glfw-git-sha }} | |
| git-commit-date: ${{ needs.extract-params.outputs.sofa-glfw-git-commit-date }} | |
| sofa-git-sha: ${{ needs.extract-params.outputs.sofa-git-sha }} | |
| sofa-python3-git-sha: ${{ needs.extract-params.outputs.sofa-python3-git-sha }} | |
| secrets: inherit | |
| notify-end: | |
| runs-on: ubuntu-slim | |
| if: ${{ always() && github.event_name == 'repository_dispatch' }} | |
| needs: [extract-params, build-publish-sofa, build-publish-sofa-python3, build-publish-sofa-glfw] | |
| steps: | |
| - name: Get status from package build | |
| shell: bash | |
| run: | | |
| if [[ "${{ needs.build-publish-sofa.result }}" == "success" && "${{ needs.build-publish-sofa-python3.result }}" == "success" && "${{ needs.build-publish-sofa-glfw.result }}" == "success" ]]; then | |
| echo "COMMIT_STATUS=success" >> $GITHUB_ENV | |
| else | |
| echo "COMMIT_STATUS=failure" >> $GITHUB_ENV | |
| fi | |
| - name: Notify commit end | |
| shell: bash | |
| run: | | |
| curl -L \ | |
| -X POST \ | |
| -H "Accept: application/vnd.github+json" \ | |
| -H "Authorization: Bearer ${{ secrets.PERF_REG_TOKEN }}" \ | |
| -H "X-GitHub-Api-Version: 2022-11-28" \ | |
| https://api.github.com/repos/sofa-framework/sofa/statuses/${{ needs.extract-params.outputs.sofa-git-sha }} \ | |
| -d '{"state":"${{ env.COMMIT_STATUS }}","target_url":"https://github.com/sofa-framework/conda-ci/actions/runs/${{ github.run_id }}","description":"Conda devel packages build completed with ${{ steps.run_perf_tests.outcome }}","context":"conda-ci"}' |