diff --git a/.github/workflows/component_features.yml b/.github/workflows/component_features.yml index 2705483f598c4..eec8309e3a0d1 100644 --- a/.github/workflows/component_features.yml +++ b/.github/workflows/component_features.yml @@ -1,20 +1,35 @@ +# Component Features - Linux +# +# Validates that each component feature compiles +# +# Runs on: +# - scheduled UTC midnight Tues-Sat +# - on PR comment (see comment-trigger.yml) +# - on demand from github actions UI + name: Component Features - Linux on: workflow_call: + workflow_dispatch: + schedule: + # At midnight UTC Tue-Sat + - cron: '0 0 * * 2-6' jobs: check-component-features: - runs-on: [linux, ubuntu-20.04-8core] + # use free tier on schedule and 8 core to expedite results on demand invocation + runs-on: ${{ github.event_name == 'schedule' && 'ubuntu-latest' || fromJSON('["linux", "ubuntu-20.04-8core"]') }} + if: github.event_name == 'issue_comment' || github.event_name == 'workflow_dispatch' steps: - name: (PR comment) Get PR branch - if: ${{ github.event_name == 'issue_comment' }} + if: github.event_name == 'issue_comment' uses: xt0rted/pull-request-comment-branch@v2 id: comment-branch - name: (PR comment) Set latest commit status as pending + if: github.event_name == 'issue_comment' uses: myrotvorets/set-commit-status-action@v1.1.7 - if: ${{ github.event_name == 'issue_comment' }} with: sha: ${{ steps.comment-branch.outputs.head_sha }} token: ${{ secrets.GITHUB_TOKEN }} @@ -22,13 +37,13 @@ jobs: status: pending - name: (PR comment) Checkout PR branch - if: ${{ github.event_name == 'issue_comment' }} + if: github.event_name == 'issue_comment' uses: actions/checkout@v3 with: ref: ${{ steps.comment-branch.outputs.head_ref }} - name: Checkout branch - if: ${{ github.event_name != 'issue_comment' }} + if: github.event_name != 'issue_comment' uses: actions/checkout@v3 - run: sudo -E bash scripts/environment/bootstrap-ubuntu-20.04.sh @@ -37,8 +52,8 @@ jobs: - run: make check-component-features - name: (PR comment) Set latest commit status as ${{ job.status }} - uses: myrotvorets/set-commit-status-action@v1.1.7 if: always() && github.event_name == 'issue_comment' + uses: myrotvorets/set-commit-status-action@v1.1.7 with: sha: ${{ steps.comment-branch.outputs.head_sha }} token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/master_merge_queue.yml b/.github/workflows/master_merge_queue.yml index eaf5b7bf08295..63b0a8805a2dd 100644 --- a/.github/workflows/master_merge_queue.yml +++ b/.github/workflows/master_merge_queue.yml @@ -74,12 +74,6 @@ jobs: needs: changes secrets: inherit - check-component-features: - if: needs.changes.outputs.source == 'true' - uses: ./.github/workflows/component_features.yml - needs: changes - secrets: inherit - cross-linux: # We run cross checks when dependencies change to ensure they still build. # This helps us avoid adopting dependencies that aren't compatible with other architectures. @@ -117,7 +111,6 @@ jobs: - test-misc - test-environment - check-msrv - - check-component-features - cross-linux - unit-mac - unit-windows