Repository navigation
Debusine Daily #104
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
| # Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. | |
| # SPDX-License-Identifier: BSD-3-Clause-Clear | |
| # SEE README.debusine.md BEFORE CHANGING THIS FILE | |
| name: Debusine Daily | |
| on: | |
| schedule: | |
| - cron: '0 0 * * *' | |
| workflow_dispatch: | |
| jobs: | |
| # For scheduled runs, determine which target branches exist | |
| check-branches: | |
| name: Check branches | |
| runs-on: ubuntu-latest | |
| outputs: | |
| matrix: ${{ steps.set-matrix.outputs.matrix }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - id: set-matrix | |
| name: Set matrix | |
| env: | |
| # Unset Actions variables expand to an empty string, so only "true" disables. | |
| DEBUSINE_WORKFLOWS_DISABLED: ${{ vars.DEBUSINE_WORKFLOWS_DISABLED }} | |
| run: | | |
| if [ "$DEBUSINE_WORKFLOWS_DISABLED" = "true" ]; then | |
| echo 'matrix=[]' >> "$GITHUB_OUTPUT" | |
| echo 'Debusine workflows are disabled for this repository.' | |
| exit 0 | |
| fi | |
| # Define candidate branches | |
| candidates='["qli/debian/latest", "qli/debian/trixie", "qli-staging/debian/latest", "qli-staging/debian/trixie", "qcom/debian/latest", "qcom/debian/trixie"]' | |
| # Filter to branches that exist | |
| existing=() | |
| for branch in $(echo "$candidates" | jq -r '.[]'); do | |
| if git rev-parse --verify "origin/$branch" >/dev/null 2>&1; then | |
| existing+=("\"$branch\"") | |
| fi | |
| done | |
| # Create JSON array | |
| matrix="[$(IFS=,; echo "${existing[*]}")]" | |
| echo "matrix=$matrix" >> "$GITHUB_OUTPUT" | |
| echo "Existing branches: $matrix" | |
| # For scheduled runs, call the workflow once per existing branch | |
| debusine-scheduled: | |
| name: Debusine (${{ matrix.target_branch }}) | |
| needs: check-branches | |
| if: ${{ vars.DEBUSINE_WORKFLOWS_DISABLED != 'true' }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| target_branch: ${{ fromJson(needs.check-branches.outputs.matrix) }} | |
| uses: qualcomm-linux/debusine-action/.github/workflows/debusine.yml@main | |
| with: | |
| target_branch: ${{ matrix.target_branch }} | |
| source_ref: refs/heads/${{ matrix.target_branch }} | |
| release: false | |
| debusine-action-ref: main | |
| debusine-parent-workspace: ${{ vars.DEBUSINE_PARENT_WORKSPACE || 'qli-ci' }} | |
| job_index: ${{ strategy.job-index }} | |
| permissions: | |
| contents: write | |
| deployments: write | |
| packages: read | |
| secrets: | |
| DEBUSINE_USER: ${{ secrets.DEBUSINE_USER }} | |
| DEBUSINE_TOKEN: ${{ secrets.DEBUSINE_TOKEN }} | |
| DEBUSINE_RELEASE_TOKEN: ${{ secrets.DEBUSINE_RELEASE_TOKEN }} |