Nightly generate binaries #10
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: Nightly generate binaries | |
| # =============================================================== | |
| # =============================================================== | |
| on: | |
| # Nightly build | |
| schedule: | |
| - cron: '0 2 * * *' # Evevery night | |
| # =============================================================== | |
| # =============================================================== | |
| jobs: | |
| # Nightly build triggered once a day | |
| nightly_build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| sofa_version: [master] | |
| if: ${{ github.repository_owner == 'sofa-framework' }} | |
| outputs: | |
| SOFA_BRANCH_NAME: ${{ steps.export-vars.outputs.SOFA_BRANCH_NAME }} | |
| SOFA_COMMIT_SHA: ${{ steps.export-vars.outputs.SOFA_COMMIT_SHA }} | |
| PRESET: ${{ steps.export-vars.outputs.PRESET }} | |
| PYTHON_VERSION: ${{ steps.export-vars.outputs.PYTHON_VERSION }} | |
| CI_DEPENDS_ON: ${{ steps.export-vars.outputs.CI_DEPENDS_ON }} | |
| WITH_ALL_TESTS: ${{ steps.export-vars.outputs.WITH_ALL_TESTS }} | |
| FORCE_FULL_BUILD: ${{ steps.export-vars.outputs.FORCE_FULL_BUILD }} | |
| EXTERNAL_PLUGINS: ${{ steps.export-vars.outputs.EXTERNAL_PLUGINS }} | |
| ADDITIONNAL_CMAKE_FLAGS: ${{ steps.export-vars.outputs.ADDITIONNAL_CMAKE_FLAGS }} | |
| GENERATE_BINARIES: ${{ steps.export-vars.outputs.GENERATE_BINARIES }} | |
| PR_OWNER_URL: ${{ steps.export-vars.outputs.PR_OWNER_URL }} | |
| PR_BRANCH_NAME: ${{ steps.export-vars.outputs.PR_BRANCH_NAME }} | |
| PR_COMMIT_SHA: ${{ steps.export-vars.outputs.PR_COMMIT_SHA }} | |
| BUILDER_OS: ${{ steps.export-vars.outputs.BUILDER_OS }} | |
| steps: | |
| - name: Export outputs | |
| id: export-vars | |
| run: | | |
| echo "SOFA_BRANCH_NAME=${{ matrix.sofa_version }}" >> $GITHUB_OUTPUT # SOFA_BRANCH_NAME: "${{ matrix.sofa_version }}" | |
| echo "SOFA_COMMIT_SHA=HEAD" >> $GITHUB_OUTPUT # SOFA_COMMIT_SHA: "HEAD" | |
| echo "PRESET=standard" >> $GITHUB_OUTPUT # PRESET: "standard" | |
| echo "PYTHON_VERSION=3.12" >> $GITHUB_OUTPUT # PYTHON_VERSION: "3.12" | |
| echo "CI_DEPENDS_ON=" >> $GITHUB_OUTPUT # CI_DEPENDS_ON: "" | |
| echo "WITH_ALL_TESTS=false" >> $GITHUB_OUTPUT # WITH_ALL_TESTS: false | |
| echo "FORCE_FULL_BUILD=true" >> $GITHUB_OUTPUT # FORCE_FULL_BUILD: true | |
| echo "EXTERNAL_PLUGINS=" >> $GITHUB_OUTPUT # EXTERNAL_PLUGINS: "" | |
| echo "ADDITIONNAL_CMAKE_FLAGS=" >> $GITHUB_OUTPUT # ADDITIONNAL_CMAKE_FLAGS: "" | |
| echo "GENERATE_BINARIES=true" >> $GITHUB_OUTPUT # GENERATE_BINARIES: true | |
| echo "PR_OWNER_URL=" >> $GITHUB_OUTPUT # PR_OWNER_URL: "" | |
| echo "PR_BRANCH_NAME=" >> $GITHUB_OUTPUT # PR_BRANCH_NAME: "" | |
| echo "PR_COMMIT_SHA=HEAD" >> $GITHUB_OUTPUT # PR_COMMIT_SHA: "HEAD" | |
| echo 'BUILDER_OS=["sh-ubuntu_gcc_release","sh-macos_clang_release"]' >> $GITHUB_OUTPUT # BUILDER_OS: ["sh-ubuntu_gcc_release","sh-macos_clang_release"] | |
| # =============================================================== | |
| # =============================================================== | |
| # Trigger the build and sharing all parameters from nightly_build > outputs | |
| build-on: | |
| needs: nightly_build | |
| if: ${{ github.repository_owner == 'sofa-framework' }} | |
| uses: sofa-framework/sofa/.github/workflows/build-and-test.yml@master | |
| with: | |
| sofa-branch-name: ${{ needs.nightly_build.outputs.SOFA_BRANCH_NAME }} | |
| sofa-commit-sha: ${{ needs.nightly_build.outputs.SOFA_COMMIT_SHA }} | |
| preset: ${{ needs.nightly_build.outputs.PRESET }} | |
| python-version: ${{ needs.nightly_build.outputs.PYTHON_VERSION }} | |
| ci-depends-on: ${{ needs.nightly_build.outputs.CI_DEPENDS_ON }} | |
| with-all-tests: ${{ needs.nightly_build.outputs.WITH_ALL_TESTS == 'true'}} | |
| force-full-build: ${{ needs.nightly_build.outputs.FORCE_FULL_BUILD == 'true'}} | |
| external-plugins: ${{ needs.nightly_build.outputs.EXTERNAL_PLUGINS }} | |
| additionnal-cmake-flags: ${{ needs.nightly_build.outputs.ADDITIONNAL_CMAKE_FLAGS }} | |
| generate-binaries: ${{ needs.nightly_build.outputs.GENERATE_BINARIES == 'true'}} | |
| pr-owner-url: ${{ needs.nightly_build.outputs.PR_OWNER_URL }} | |
| pr-branch-name: ${{ needs.nightly_build.outputs.PR_BRANCH_NAME }} | |
| pr-commit-sha: ${{ needs.nightly_build.outputs.PR_COMMIT_SHA }} | |
| builder-os: ${{ needs.nightly_build.outputs.BUILDER_OS }} |