Dataset Validation and Verification #1071
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: Dataset Validation and Verification | |
| permissions: | |
| contents: read | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| test-run: | |
| description: "Indicate this is a test run (with few entries)" | |
| required: false | |
| default: true | |
| type: boolean | |
| category: | |
| description: "Dataset category to validate" | |
| required: false | |
| default: "bug-fix" | |
| type: choice | |
| options: | |
| - "bug-fix" | |
| - "cf-1" | |
| - "cf-2" | |
| - "cf-3" | |
| - "cf-4" | |
| entries-override: | |
| description: "Optional JSON array of entry IDs to validate (overrides get-entries)" | |
| required: false | |
| default: "" | |
| type: string | |
| schedule: | |
| - cron: "0 0 * * 0" | |
| jobs: | |
| get-entries: | |
| if: ${{ inputs.entries-override == '' || inputs.entries-override == null }} | |
| uses: ./.github/workflows/get-entries.yml | |
| with: | |
| modified-only: false | |
| test-run: ${{ inputs.test-run || false }} | |
| category: ${{ inputs.category || 'bug-fix' }} | |
| resolve-entries: | |
| runs-on: ubuntu-latest | |
| needs: get-entries | |
| if: always() | |
| outputs: | |
| entries: ${{ steps.pick.outputs.entries }} | |
| steps: | |
| - id: pick | |
| run: | | |
| if [[ -n "${{ inputs.entries-override }}" ]]; then | |
| echo "entries=${{ inputs.entries-override }}" >> "$GITHUB_OUTPUT" | |
| else | |
| echo 'entries=${{ needs.get-entries.outputs.entries }}' >> "$GITHUB_OUTPUT" | |
| fi | |
| verify-build-and-tests: | |
| runs-on: [GitHub-BCBench] | |
| needs: resolve-entries | |
| if: needs.resolve-entries.outputs.entries != '[]' && needs.resolve-entries.outputs.entries != '' | |
| environment: | |
| name: ado-read | |
| deployment: false | |
| permissions: | |
| contents: read | |
| id-token: write | |
| name: ${{ matrix.entry }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| entry: ${{ fromJson(needs.resolve-entries.outputs.entries) }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v5 | |
| - name: Setup BC container | |
| id: setup-env | |
| timeout-minutes: 40 | |
| uses: ./.github/actions/setup-bc-container | |
| with: | |
| instance-id: ${{ matrix.entry }} | |
| azure-client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
| azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Run build and test verification for ${{ matrix.entry }} | |
| timeout-minutes: 60 | |
| run: .\scripts\Verify-BuildAndTests.ps1 -InstanceId "${{ matrix.entry }}" -RepoPath "${{ steps.setup-env.outputs.repo_path }}" | |
| shell: pwsh |