From 933d7efabc4d0154bb2fa43fdbb86edff07961be Mon Sep 17 00:00:00 2001 From: Nils Wistoff Date: Tue, 20 Feb 2024 21:15:13 +0100 Subject: [PATCH] fixup! CI: Add cheshire CI Signed-off-by: Nils Wistoff --- .github/workflows/cheshire.yml | 74 +++++++--------------------------- 1 file changed, 14 insertions(+), 60 deletions(-) diff --git a/.github/workflows/cheshire.yml b/.github/workflows/cheshire.yml index d2c4cc497bf..a67bab015a0 100644 --- a/.github/workflows/cheshire.yml +++ b/.github/workflows/cheshire.yml @@ -2,67 +2,21 @@ # Licensed under the Apache License, Version 2.0, see LICENSE for details. # SPDX-License-Identifier: Apache-2.0 -name: cheshire -on: [push, pull_request_target] +name: cheshire-integration +on: [ push, pull_request_target, workflow_dispatch ] jobs: - trigger_cheshire_ci: - name: Trigger Cheshire CI + integrate: runs-on: ubuntu-latest + timeout-minutes: 200 + if: github.repository == 'pulp-platform/cva6' steps: - - name: Checkout Cheshire - uses: actions/checkout@v4 - with: - repository: pulp-platform/cheshire - ref: cva6/pulp-v1.0.0 - token: ${{ secrets.CHESHIRE_TOKEN }} - - name: Install Python - uses: actions/setup-python@v4 - with: - python-version: 3.9 - - name: Install Python requirements - shell: bash - # PIP has very noisy, uncollapsible output, making following script output hard to read - run: pip install --disable-pip-version-check --quiet --progress-bar off requests urllib3 - - name: Patch Bender.lock - run: "sed -i \"/ cva6:/{n;s/.*/ revision: $GITHUB_SHA/;}\" Bender.lock" - - name: Commit ref - run: | - git checkout -b cva6-ci/$(git rev-parse --short "$GITHUB_SHA") - git add Bender.lock - git -c user.name='CVA6 CI Bot' -c user.email='cva6@bot.com' commit -m "CVA6 regression test" - - name: Push ref - run: git push --set-upstream origin cva6-ci/$(git rev-parse --short "$GITHUB_SHA") - - name: Wait for Cheshire CI - run: | - python3 -c " - import time - import requests - poll_count = 720 - poll_period = 10 - api_version = '2022-11-28' - check_runs_url = f'https://api.github.com/repos/pulp-platform/cheshire/commits/cva6-ci/$(git rev-parse --short $GITHUB_SHA)/check-runs' - headers = {'Accept': 'application/vnd.github+json', - 'Authorization': 'Bearer ${{ secrets.CHESHIRE_TOKEN }}', - 'X-GitHub-Api-Version': api_version} - for i in range(1, poll_count+1): - pending = 0 - failed = 0 - response = requests.get(check_runs_url, headers=headers).json() - print(response) - for r in response['check_runs']: - if r['status'] in ('queued', 'in_progress'): - pending+=1 - if r['conclusion'] == 'failure': - print(f'[{i*poll_period}s] Pipeline failure!') - exit(1) - if response['total_count'] > 0 and not pending: - print(f'[{i*poll_period}s] Pipeline success!') - exit(0) - print(f'[{i*poll_period}s] Pipeline running') - time.sleep(poll_period) - else: - print(f'[{poll_count*poll_period}s] Pipeline completion timeout!') - exit(2)" - - name: Clean up ref - run: git push origin :cva6-ci/$(git rev-parse --short $GITHUB_SHA) + - name: Integrate into cheshire + uses: pulp-platform/pulp-actions/integrate@nw/github-integration-ci + with: + ip-name: cva6 + org: pulp-platform + repo: cheshire + base-ref: cva6/pulp-v1.0.0 + token: ${{ secrets.CHESHIRE_TOKEN }} + lifetime: 120