mirror of https://github.com/nodejs/node.git
65 lines
2.0 KiB
YAML
65 lines
2.0 KiB
YAML
---
|
|
name: Auto Start CI
|
|
|
|
on:
|
|
schedule:
|
|
# Runs every five minutes (fastest the scheduler can run). Five minutes is
|
|
# optimistic, it can take longer to run.
|
|
# To understand why `schedule` is used instead of other events, refer to
|
|
# ./doc/guides/commit-queue.md
|
|
- cron: "*/5 * * * *"
|
|
|
|
env:
|
|
NODE_VERSION: 14.x
|
|
|
|
jobs:
|
|
startCI:
|
|
if: github.repository == 'nodejs/node'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
# Install dependencies
|
|
- name: Install Node.js
|
|
uses: actions/setup-node@v2-beta
|
|
with:
|
|
node-version: ${{ env.NODE_VERSION }}
|
|
- name: Install node-core-utils
|
|
run: npm install -g node-core-utils
|
|
|
|
- name: Set variables
|
|
run: |
|
|
echo "REPOSITORY=$(echo ${{ github.repository }} | cut -d/ -f2)" >> $GITHUB_ENV
|
|
echo "OWNER=${{ github.repository_owner }}" >> $GITHUB_ENV
|
|
|
|
# Get Pull Requests
|
|
- name: Get Pull Requests
|
|
uses: octokit/graphql-action@v2.x
|
|
id: get_prs_for_ci
|
|
with:
|
|
query: |
|
|
query prs($owner:String!, $repo:String!) {
|
|
repository(owner:$owner, name:$repo) {
|
|
pullRequests(labels: ["request-ci"], states: OPEN, last: 100) {
|
|
nodes {
|
|
number
|
|
}
|
|
}
|
|
}
|
|
}
|
|
owner: ${{ env.OWNER }}
|
|
repo: ${{ env.REPOSITORY }}
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Setup node-core-utils
|
|
run: |
|
|
ncu-config set username ${{ secrets.JENKINS_USER }}
|
|
ncu-config set token none
|
|
ncu-config set jenkins_token ${{ secrets.JENKINS_TOKEN }}
|
|
ncu-config set owner ${{ env.OWNER }}
|
|
ncu-config set repo ${{ env.REPOSITORY }}
|
|
|
|
- name: Start CI
|
|
run: ./tools/actions/start-ci.sh ${{ secrets.GITHUB_TOKEN }} ${{ env.OWNER }} ${{ env.REPOSITORY }} $(echo '${{ steps.get_prs_for_ci.outputs.data }}' | jq '.repository.pullRequests.nodes | map(.number) | .[]')
|