mirror of
https://github.com/grafana/grafana.git
synced 2024-12-01 13:09:22 -06:00
d9a5af3d6f
Bumps [actions/github-script](https://github.com/actions/github-script) from 5 to 6. - [Release notes](https://github.com/actions/github-script/releases) - [Commits](https://github.com/actions/github-script/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/github-script dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
142 lines
3.9 KiB
YAML
142 lines
3.9 KiB
YAML
name: Levitate / Detect breaking changes
|
|
|
|
on: pull_request
|
|
|
|
jobs:
|
|
buildPR:
|
|
name: Build PR
|
|
runs-on: ubuntu-latest
|
|
defaults:
|
|
run:
|
|
working-directory: './pr'
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
path: './pr'
|
|
|
|
- name: Get yarn cache directory path
|
|
id: yarn-cache-dir-path
|
|
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
|
|
|
|
- name: Restore yarn cache
|
|
uses: actions/cache@v2
|
|
id: yarn-cache
|
|
with:
|
|
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
|
|
key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }}
|
|
restore-keys: |
|
|
yarn-cache-folder-
|
|
|
|
- name: Install dependencies
|
|
run: yarn install --immutable
|
|
|
|
- name: Build packages
|
|
run: yarn packages:build
|
|
|
|
- name: Zip built packages
|
|
run: zip -r ./pr_built_packages.zip ./packages/**/dist
|
|
|
|
- name: Upload build output as artifact
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: buildPr
|
|
path: './pr/pr_built_packages.zip'
|
|
|
|
buildBase:
|
|
name: Build Base
|
|
runs-on: ubuntu-latest
|
|
defaults:
|
|
run:
|
|
working-directory: './base'
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
path: './base'
|
|
ref: ${{ github.event.pull_request.base.ref }}
|
|
|
|
- name: Get yarn cache directory path
|
|
id: yarn-cache-dir-path
|
|
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
|
|
|
|
- name: Restore yarn cache
|
|
uses: actions/cache@v2
|
|
id: yarn-cache
|
|
with:
|
|
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
|
|
key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }}
|
|
restore-keys: |
|
|
yarn-cache-folder-
|
|
|
|
- name: Install dependencies
|
|
run: yarn install --immutable
|
|
|
|
- name: Build packages
|
|
run: yarn packages:build
|
|
|
|
- name: Zip built packages
|
|
run: zip -r ./base_built_packages.zip ./packages/**/dist
|
|
|
|
- name: Upload build output as artifact
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: buildBase
|
|
path: './base/base_built_packages.zip'
|
|
|
|
Detect:
|
|
name: Detect breaking changes
|
|
runs-on: ubuntu-latest
|
|
needs: ['buildPR', 'buildBase']
|
|
env:
|
|
GITHUB_STEP_NUMBER: 7
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Get built packages from pr
|
|
uses: actions/download-artifact@v2
|
|
with:
|
|
name: buildPr
|
|
|
|
- name: Get built packages from base
|
|
uses: actions/download-artifact@v2
|
|
with:
|
|
name: buildBase
|
|
|
|
- name: Unzip artifact from pr
|
|
run: unzip pr_built_packages.zip -d ./pr && rm pr_built_packages.zip
|
|
|
|
- name: Unzip artifact from base
|
|
run: unzip base_built_packages.zip -d ./base && rm base_built_packages.zip
|
|
|
|
- name: Get link for the Github Action job
|
|
id: job
|
|
uses: actions/github-script@v6
|
|
with:
|
|
script: |
|
|
const script = require('./.github/workflows/scripts/pr-get-job-link.js')
|
|
await script({github, context, core})
|
|
|
|
- name: Detect breaking changes
|
|
id: breaking-changes
|
|
run: ./scripts/check-breaking-changes.sh
|
|
env:
|
|
FORCE_COLOR: 3
|
|
GITHUB_JOB_LINK: ${{ steps.job.outputs.link }}
|
|
|
|
- name: Persisting the check output
|
|
run: |
|
|
mkdir -p ./levitate
|
|
echo "{ \"exit_code\": ${{ steps.breaking-changes.outputs.is_breaking }}, \"message\": \"${{ steps.breaking-changes.outputs.message }}\", \"job_link\": \"${{ steps.job.outputs.link }}#step:${GITHUB_STEP_NUMBER}:1\", \"pr_number\": \"${{ github.event.pull_request.number }}\" }" > ./levitate/result.json
|
|
|
|
- name: Upload check output as artifact
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: levitate
|
|
path: levitate/
|
|
|
|
- name: Exit
|
|
run: exit ${{ steps.breaking-changes.outputs.is_breaking }}
|
|
shell: bash
|