Repository navigation
build(deps): bump github/codeql-action from 4.38.1 to 4.38.2 (#4209) Signed-off-by: dependabot[bot] <support@github.com> #1684
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: CI | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| schedule: | |
| - cron: "0 0 * * *" # Every day at midnight UTC | |
| workflow_dispatch: | |
| inputs: | |
| NIGHTLY: | |
| description: "Run as a nightly build" | |
| default: false | |
| required: true | |
| type: boolean | |
| run-name: >- | |
| ${{ | |
| (github.event_name == 'schedule' || inputs.NIGHTLY == true) | |
| && 'Build and Deploy Nightly Builds' | |
| || github.event.pull_request.title | |
| || github.event.head_commit.message | |
| || format('{0} on {1}', github.workflow, github.ref_name) | |
| }} | |
| jobs: | |
| check-skippable: | |
| name: Check Skippable | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| outputs: | |
| skip: ${{ steps.set-skippable.outputs.skippable || 'false' }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Check and set skippable | |
| id: set-skippable | |
| continue-on-error: true | |
| run: | | |
| if [ "${{ github.event_name }}" = "schedule" ]; then | |
| git fetch origin tag nightly | |
| LAST_COMMIT_HASH=$(git rev-list -n 1 nightly) | |
| if [ "$(git rev-parse HEAD)" = "$LAST_COMMIT_HASH" ]; then | |
| echo "::notice::No new commits since last nightly build, skipping this build." | |
| echo "skippable=true" >> $GITHUB_OUTPUT | |
| fi | |
| else | |
| echo "skippable=false" >> $GITHUB_OUTPUT | |
| fi | |
| build-macos: | |
| needs: check-skippable | |
| if: needs.check-skippable.outputs.skip != 'true' | |
| permissions: | |
| actions: read | |
| contents: write | |
| uses: ./.github/workflows/cppcmake-macos.yml | |
| secrets: inherit | |
| with: | |
| NIGHTLY: ${{ github.event_name == 'schedule' || inputs.NIGHTLY == true }} | |
| CONSOLIDATE_DEPENDENCY_SUMMARY: true | |
| build-ubuntu: | |
| needs: check-skippable | |
| if: needs.check-skippable.outputs.skip != 'true' | |
| permissions: | |
| actions: read | |
| contents: write | |
| uses: ./.github/workflows/cppcmake-ubuntu.yml | |
| with: | |
| NIGHTLY: ${{ github.event_name == 'schedule' || inputs.NIGHTLY == true }} | |
| CONSOLIDATE_DEPENDENCY_SUMMARY: true | |
| build-windows: | |
| needs: check-skippable | |
| if: needs.check-skippable.outputs.skip != 'true' | |
| permissions: | |
| actions: read | |
| contents: write | |
| uses: ./.github/workflows/cppcmake-windows.yml | |
| secrets: inherit | |
| with: | |
| NIGHTLY: ${{ github.event_name == 'schedule' || inputs.NIGHTLY == true }} | |
| CONSOLIDATE_DEPENDENCY_SUMMARY: true | |
| build-windows_on_arm: | |
| needs: check-skippable | |
| if: needs.check-skippable.outputs.skip != 'true' | |
| permissions: | |
| actions: read | |
| contents: write | |
| uses: ./.github/workflows/cppcmake-windows_on_arm.yml | |
| secrets: inherit | |
| with: | |
| NIGHTLY: ${{ github.event_name == 'schedule' || inputs.NIGHTLY == true }} | |
| CONSOLIDATE_DEPENDENCY_SUMMARY: true | |
| summarize-dependencies: | |
| needs: | |
| [ | |
| check-skippable, | |
| build-macos, | |
| build-ubuntu, | |
| build-windows, | |
| build-windows_on_arm, | |
| ] | |
| if: always() && needs.check-skippable.outputs.skip != 'true' && !cancelled() | |
| name: Summarize Dependencies | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| actions: read | |
| contents: read | |
| steps: | |
| - name: Download dependency summaries | |
| uses: actions/download-artifact@v8 | |
| continue-on-error: true | |
| with: | |
| pattern: dependency-summary-* | |
| path: dependency-summary | |
| merge-multiple: true | |
| - name: Summary | |
| run: | | |
| { | |
| echo "## Dependencies used" | |
| echo "" | |
| echo "| Workflow | Target | OpenSSL | Qt | SQLCipher | SQLite |" | |
| echo "| :---: | :---: | :---: | :---: | :---: | :---: |" | |
| } >> "$GITHUB_STEP_SUMMARY" | |
| if [ -d dependency-summary ] && find dependency-summary -type f -name '*.md' | grep -q .; then | |
| find dependency-summary -type f -name '*.md' -print | sort | while IFS= read -r file; do | |
| cat "$file" >> "$GITHUB_STEP_SUMMARY" | |
| done | |
| else | |
| echo "| Not available | No dependency summaries were uploaded. | - | - | - | - |" >> "$GITHUB_STEP_SUMMARY" | |
| fi | |
| release: | |
| if: github.event_name != 'pull_request' | |
| needs: [build-macos, build-ubuntu, build-windows, build-windows_on_arm] | |
| name: Release | |
| permissions: | |
| actions: read | |
| contents: write | |
| uses: ./.github/workflows/release.yml |