Repository: technote-space/workflow-conclusion-action Branch: main Commit: 69935d3f28b2 Files: 54 Total size: 186.2 KB Directory structure: gitextract_n5f9u2wq/ ├── .commitlintrc ├── .editorconfig ├── .eslintrc ├── .github/ │ ├── CODEOWNERS │ ├── CODE_OF_CONDUCT.md │ ├── CONTRIBUTING.md │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── card-labeler.yml │ ├── config.yml │ ├── labeler.yml │ ├── no-response.yml │ ├── pr-labeler.yml │ ├── pull_request_template.md │ ├── release-drafter.yml │ ├── stale.yml │ ├── workflow-details.json │ ├── workflow-settings.json │ └── workflows/ │ ├── add-release-tag.yml │ ├── add-test-tag.yml │ ├── check-warnings.yml │ ├── ci.yml │ ├── issue-opened.yml │ ├── pr-opened.yml │ ├── pr-updated.yml │ ├── project-card-moved.yml │ ├── sync-workflows.yml │ ├── toc.yml │ └── update-dependencies.yml ├── .gitignore ├── .husky/ │ ├── .gitignore │ ├── commit-msg │ └── pre-commit ├── .lintstagedrc ├── .releasegarc ├── LICENSE ├── README.ja.md ├── README.md ├── _config.yml ├── action.yml ├── package.json ├── rollup.config.mjs ├── src/ │ ├── constant.ts │ ├── fixtures/ │ │ ├── actions.list.jobs1.json │ │ ├── actions.list.jobs2.json │ │ ├── actions.list.jobs3.json │ │ └── actions.list.jobs4.json │ ├── main.ts │ ├── process.test.ts │ ├── process.ts │ └── setup.ts ├── tsconfig.json └── vite.config.ts ================================================ FILE CONTENTS ================================================ ================================================ FILE: .commitlintrc ================================================ { "extends": [ "@commitlint/config-conventional" ] } ================================================ FILE: .editorconfig ================================================ root = true [*] charset = utf-8 end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true indent_style = space indent_size = 2 [*.md] trim_trailing_whitespace = false ================================================ FILE: .eslintrc ================================================ { "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/eslint-recommended" ], "plugins": [ "@typescript-eslint", "import" ], "parser": "@typescript-eslint/parser", "parserOptions": { "sourceType": "module", "ecmaVersion": 2018 }, "env": { "node": true, "jest": true, "es6": true, "browser": true }, "settings": { "react": { "version": "latest" } }, "rules": { "camelcase": [ "error", { "properties": "always" } ], "quotes": [ "error", "single", "avoid-escape" ], "key-spacing": [ "error", { "singleLine": { "beforeColon": false, "afterColon": true }, "multiLine": { "beforeColon": false, "afterColon": true } } ], "eqeqeq": "error", "block-scoped-var": "error", "complexity": [ "error", { "maximum": 20 } ], "default-case": "error", "dot-location": [ "error", "property" ], "guard-for-in": "error", "no-eval": "error", "block-spacing": "error", "brace-style": "error", "comma-spacing": [ "error", { "before": false, "after": true } ], "indent": [ "error", 2, { "SwitchCase": 1 } ], "space-before-function-paren": [ "error", "never" ], "space-before-blocks": "error", "prefer-const": "error", "no-var": "error", "arrow-body-style": "off", "arrow-spacing": "error", "strict": [ "error" ], "no-warning-comments": [ "warn", { "terms": [ "todo", "fixme", "hack" ], "location": "anywhere" } ], "semi": [ "error" ], "sort-imports": 0, "import/order": [2, { "groups": ["type", "builtin", "external", "internal", "parent", "sibling", "index", "object"], "alphabetize": { "order": "asc", "caseInsensitive": true } }], "@typescript-eslint/no-non-null-assertion": "off" } } ================================================ FILE: .github/CODEOWNERS ================================================ * @technote-space ================================================ FILE: .github/CODE_OF_CONDUCT.md ================================================ # Contributor Covenant Code of Conduct ## Our Pledge In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. ## Our Standards Examples of behavior that contributes to creating a positive environment include: * Using welcoming and inclusive language * Being respectful of differing viewpoints and experiences * Gracefully accepting constructive criticism * Focusing on what is best for the community * Showing empathy towards other community members Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery and unwelcome sexual attention or advances * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or electronic address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at technote.space@gmail.com. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html [homepage]: https://www.contributor-covenant.org For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq ================================================ FILE: .github/CONTRIBUTING.md ================================================ # Contributing [issues]: https://github.com/technote-space/gh-actions-template/issues [fork]: https://github.com/technote-space/gh-actions-template/fork [pr]: https://github.com/technote-space/gh-actions-template/compare [eslint]: https://eslint.org/ [jest]: https://jestjs.io/ [code-of-conduct]: CODE_OF_CONDUCT.md When contributing to this repository, please first discuss the change you wish to make via [issue][issues] with the owners of this repository before making a change. Please note we have a [Contributor Code of Conduct][code-of-conduct], please follow it in all your interactions with the project. ## Submitting a pull request 1. [Fork][fork] and clone the repository 1. Make sure the tests pass on your machine: `yarn test`, which contains - [`ESLint`][eslint] - [`Jest`][jest] 1. Create a new branch: `git checkout -b my-branch-name` 1. Make your change, add tests, and make sure the tests still pass. 1. Push to your fork and [submit a pull request][pr]. 1. Pat your self on the back and wait for your pull request to be reviewed and merged. Here are a few things you can do that will increase the likelihood of your pull request being accepted: - Write and update tests. - Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests. - Write a [good commit message](https://github.com/erlang/otp/wiki/writing-good-commit-messages). Work in Progress pull request are also welcome to get feedback early on, or if there is something blocked you. ## Resources - [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/) - [Using Pull Requests](https://help.github.com/articles/about-pull-requests/) - [GitHub Help](https://help.github.com) ================================================ FILE: .github/FUNDING.yml ================================================ custom: https://paypal.me/technote0space ================================================ FILE: .github/ISSUE_TEMPLATE/bug_report.md ================================================ --- name: Bug report about: Create a report to help us improve title: '' labels: '' assignees: 'technote-space' --- ## Describe the bug: バグの概要 ## To Reproduce: 再現手順 Steps to reproduce the behavior: 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' 4. See error ## Expected behavior: 期待する動作 ## Screenshots: スクリーンショット ## Operating environment: バグが発生した環境 - Version of software - OS: [e.g. Windows10] - Browser: [e.g. Chrome, Safari] - etc. ## Additional context: 補足 ================================================ FILE: .github/ISSUE_TEMPLATE/feature_request.md ================================================ --- name: Feature request about: Suggest an idea for this project title: '' labels: '' assignees: 'technote-space' --- ## Please describe your suggestion: 提案の概要 ## Describe the solution you'd like: 考えうる解決方法 ## Describe alternatives you've considered: 考えうる代替案 ## Additional context: 補足 ================================================ FILE: .github/card-labeler.yml ================================================ Backlog: 'In progress': - 'Status: In Progress' ================================================ FILE: .github/config.yml ================================================ # Configuration for request-info - https://github.com/behaviorbot/request-info # *Required* Comment to reply with requestInfoReplyComment: > :clap: We would appreciate it if you could provide us with more info about this issue/pr! # *OPTIONAL* default titles to check against for lack of descriptiveness # MUST BE ALL LOWERCASE requestInfoDefaultTitles: - update readme.md - updates - update # *OPTIONAL* Label to be added to Issues and Pull Requests with insufficient information given requestInfoLabelToAdd: "Status: More Information Needed" # Configuration for welcome - https://github.com/behaviorbot/welcome # Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome # Comment to be posted to on first time issues newIssueWelcomeComment: > :raised_hands: Thanks for opening your first issue here! Be sure to follow the issue template! # Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome # Comment to be posted to on PRs from first time contributors in your repository newPRWelcomeComment: > :raised_hands: Thanks for opening this pull request! Please check out our contributing guidelines. # Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge # Comment to be posted to on pull requests merged by a first time user firstPRMergeComment: > :tada: Congrats on merging your first pull request! We here at behaviorbot are proud of you! # Configuration for todo - https://github.com/jasonetco/todo todo: - label: "Type: Todo" ================================================ FILE: .github/labeler.yml ================================================ javascript: - '**/*.js' typescript: - '**/*.ts' php: - '**/*.php' python: - '**/*.py' cpp: - '**/*.cpp' - '**/*.cxx' - '**/*.cc' - '**/*.cp' 'Type: Testing': - '**/tests/*' - '**/test/*' - '**/__tests__/*' 'Type: Documentation': - '**/*.md' 'Type: CI/CD': - '.github/workflows/*.yml' - '.circleci/*' - '.travis.yml' ================================================ FILE: .github/no-response.yml ================================================ # Configuration for probot-no-response - https://github.com/probot/no-response # Number of days of inactivity before an Issue is closed for lack of response daysUntilClose: 14 # Label requiring a response responseRequiredLabel: "Status: More Information Needed" # Comment to post when closing an Issue for lack of response. Set to `false` to disable closeComment: > This issue has been automatically closed because there has been no response to our request for more information from the original author. With only the information that is currently in the issue, we don't have enough information to take action. Please reach out if you have or find the answers we need so that we can investigate further. ================================================ FILE: .github/pr-labeler.yml ================================================ 'Type: Feature': ['feature/*', 'feat/*'] 'Type: Bug': fix/* 'Type: Maintenance': ['patch/*', 'chore/*'] 'Type: Release': release/* 'Type: Refactoring': ['refactor/*', 'refactoring/*'] 'Type: Documentation': ['docs/*', 'doc/*'] ================================================ FILE: .github/pull_request_template.md ================================================ ## Description: 概要 ## Changes: 変更内容 ## Expected Impact: 影響範囲 ## Operating Requirements: 動作要件 ## Additional context: 補足 ================================================ FILE: .github/release-drafter.yml ================================================ # Config for https://github.com/apps/release-drafter name-template: 'v$NEXT_PATCH_VERSION' tag-template: 'v$NEXT_PATCH_VERSION' categories: - title: ':rocket: Features' labels: - 'Type: Feature' - 'Type: Refactoring' - title: ':bug: Bug Fixes' labels: - 'Type: Bug' - 'Type: Security' - title: ':wrench: Maintenance' labels: - 'Type: Maintenance' - 'Type: CI/CD' - title: ':green_book: Docs' labels: - 'Type: Documentation' - title: ':white_check_mark: Tested' labels: - 'Type: Testing' - title: ':sparkles: All Changes' labels: - 'Type: Release' exclude-labels: - 'dependencies' template: | ## What’s Changed $CHANGES ================================================ FILE: .github/stale.yml ================================================ # Number of days of inactivity before an issue becomes stale daysUntilStale: 180 # Number of days of inactivity before a stale issue is closed daysUntilClose: 30 # Issues with these labels will never be considered stale exemptLabels: - "Priority: Critical" - "Type: Security" # Label to use when marking an issue as stale staleLabel: "Status: Abandoned" # Comment to post when marking an issue as stale. Set to `false` to disable markComment: > This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. # Comment to post when closing a stale issue. Set to `false` to disable closeComment: false ================================================ FILE: .github/workflow-details.json ================================================ { "TOC_FOOTER": "*generated with [TOC Generator](https://github.com/technote-space/toc-generator)*" } ================================================ FILE: .github/workflow-settings.json ================================================ { "EXCLUDE_MESSAGES": [ "update package version", "update packages", "update wp version", "trigger workflow", "update TOC" ], "PROJECT": "Backlog", "ISSUE_COLUMN": "To do", "PR_COLUMN": "In progress", "PR_BODY_TITLE": "## Changes", "TOC_FOLDING": "1", "TOC_MAX_HEADER_LEVEL": "3", "TOC_TITLE": "Details", "TOC_CREATE_PR": "true", "TOC_TARGET_PATHS": "README*.md", "BRANCH_PREFIX": "release/", "ANNOTATION_EXCLUDE_PATTERNS": [ ">> warning ", ">> hint: ", "Cloning into", "has unmet peer dependency", "has incorrect peer dependency", "Using version", "ci-helper", "tests/bootstrap.php" ], "CHANGE_TEMPLATE": "- [ ] ${TITLE} (#${NUMBER}) @${AUTHOR}" } ================================================ FILE: .github/workflows/add-release-tag.yml ================================================ on: pull_request: branches: - master - main - develop/v* types: [closed] concurrency: group: ${{ github.workflow }}-${{ github.ref }} name: Add release tag jobs: tag: name: Add release tag runs-on: ubuntu-latest timeout-minutes: 3 if: github.event.pull_request.merged == true && github.event.pull_request.head.user.id == github.event.pull_request.base.user.id && startsWith(github.head_ref, 'release/') steps: - uses: technote-space/load-config-action@v1 with: CONFIG_FILENAME: workflow-settings.json, workflow-details.json IGNORE_WARNING: 'true' - name: Get version uses: technote-space/get-next-version-action@v1 with: EXCLUDE_MESSAGES: ${{ env.EXCLUDE_MESSAGES }} if: "! startsWith(github.head_ref, 'release/v')" - name: Get version run: echo "NEXT_VERSION=${HEAD_REF#release/}" >> $GITHUB_ENV env: HEAD_REF: ${{ github.head_ref }} if: startsWith(github.head_ref, 'release/v') - uses: actions/github-script@v3 with: github-token: ${{ secrets.ACCESS_TOKEN }} script: | github.git.createRef({ owner: context.repo.owner, repo: context.repo.repo, ref: `refs/tags/${process.env.NEXT_VERSION}`, sha: context.sha }) if: env.NEXT_VERSION - uses: actions/github-script@v3 with: github-token: ${{ secrets.ACCESS_TOKEN }} script: | github.git.createRef({ owner: context.repo.owner, repo: context.repo.repo, ref: `refs/heads/release/next-${process.env.NEXT_VERSION}`, sha: context.sha }) if: env.NEXT_VERSION ================================================ FILE: .github/workflows/add-test-tag.yml ================================================ on: pull_request: types: [synchronize] concurrency: group: ${{ github.workflow }}-${{ github.ref }} name: Add test tag jobs: tag: name: Add test tag runs-on: ubuntu-latest timeout-minutes: 3 if: github.event.pull_request.head.user.id == github.event.pull_request.base.user.id && startsWith(github.head_ref, 'release/') steps: - uses: technote-space/load-config-action@v1 with: CONFIG_FILENAME: workflow-settings.json, workflow-details.json IGNORE_WARNING: 'true' - uses: actions/checkout@v3 - uses: technote-space/get-git-comment-action@v1 - name: Get version uses: technote-space/get-next-version-action@v1 with: EXCLUDE_MESSAGES: ${{ env.EXCLUDE_MESSAGES }} if: "! startsWith(github.head_ref, 'release/v') && (contains(env.COMMIT_MESSAGE, 'chore: update dependencies') || contains(env.COMMIT_MESSAGE, 'chore: update npm dependencies'))" - name: Get version run: echo "NEXT_VERSION=${HEAD_REF#release/}" >> $GITHUB_ENV env: HEAD_REF: ${{ github.head_ref }} if: "startsWith(github.head_ref, 'release/v') && (contains(env.COMMIT_MESSAGE, 'chore: update dependencies') || contains(env.COMMIT_MESSAGE, 'chore: update npm dependencies'))" - name: Get tag name run: echo "TAG_NAME=${NEXT_VERSION}.${RUN_ID}" >> $GITHUB_ENV env: HEAD_REF: ${{ github.head_ref }} RUN_ID: ${{ github.run_id }} if: env.NEXT_VERSION - uses: actions/github-script@v3 with: github-token: ${{ secrets.ACCESS_TOKEN }} script: | github.git.createRef({ owner: context.repo.owner, repo: context.repo.repo, ref: `refs/tags/test/${process.env.TAG_NAME}`, sha: context.payload.pull_request.head.sha }) if: env.TAG_NAME ================================================ FILE: .github/workflows/check-warnings.yml ================================================ on: workflow_run: workflows: - CI - Sync workflows - Update dependencies - Broken Link Check types: - completed name: Check Warnings jobs: annotations: name: Annotations runs-on: ubuntu-latest timeout-minutes: 3 steps: - uses: technote-space/load-config-action@v1 with: CONFIG_FILENAME: workflow-settings.json, workflow-details.json IGNORE_WARNING: 'true' - uses: technote-space/download-annotations-action@v2 id: annotations with: TARGET_RUN_ID: ${{ github.event.workflow_run.id }} INCLUDE_LEVELS: warning EXCLUDE_MESSAGE_PATTERNS: ${{ env.ANNOTATION_EXCLUDE_PATTERNS }} - name: Build attachments run: | arr1='[{"fields":[{"title":"repo","value":"","short":true},{"title":"action","value":"<${{ github.event.workflow_run.html_url }}|summary>","short":true}]}]' arr2=$(echo '${{ steps.annotations.outputs.messages }}' | jq -c 'map({"color":"warning","text":"```\(.)```"})') echo "SLACK_ATTACHMENTS=$(jq --argjson arr1 "$arr1" --argjson arr2 "$arr2" -nc '$arr1 + $arr2')" >> $GITHUB_ENV if: steps.annotations.outputs.number > 0 - uses: 8398a7/action-slack@v3 with: status: custom fields: repo custom_payload: | { text: "Warning annotations", attachments: ${{ env.SLACK_ATTACHMENTS }} } env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} if: steps.annotations.outputs.number > 0 && env.SLACK_WEBHOOK_URL ================================================ FILE: .github/workflows/ci.yml ================================================ on: push concurrency: group: ${{ github.workflow }}-${{ github.ref }} name: CI jobs: eslint: name: ESLint runs-on: ubuntu-latest timeout-minutes: 5 env: LINT: 1 steps: - name: Set running flag run: echo "RUNNING=1" >> $GITHUB_ENV - uses: actions/checkout@v3 - uses: technote-space/get-git-comment-action@v1 - uses: technote-space/get-diff-action@v6 with: PATTERNS: +(src|__tests__)/**/*.+(js|ts) FILES: | yarn.lock .eslintrc if: "! contains(env.COMMIT_MESSAGE, '[skip ci]') && ! contains(env.COMMIT_MESSAGE, '[ci skip]')" - name: Set running flag run: echo "RUNNING=" >> $GITHUB_ENV if: "! env.GIT_DIFF" - uses: actions/setup-node@v3 with: node-version: 16 cache: yarn if: env.RUNNING - name: Install Package dependencies run: yarn install if: env.RUNNING - name: Check code style run: yarn eslint ${{ env.GIT_DIFF_FILTERED }} if: env.RUNNING && !env.MATCHED_FILES - name: Check code style run: yarn lint if: env.RUNNING && env.MATCHED_FILES cover: name: Coverage needs: eslint runs-on: ${{matrix.os}} timeout-minutes: 10 strategy: matrix: os: [ubuntu-20.04, ubuntu-22.04, ubuntu-latest, macos-latest] steps: - name: Set running flag run: echo "RUNNING=1" >> $GITHUB_ENV - uses: actions/checkout@v3 - uses: technote-space/get-git-comment-action@v1 - uses: technote-space/get-diff-action@v6 with: PATTERNS: +(src|__tests__)/**/*.+(js|ts|snap) FILES: | yarn.lock jest.config.js vite.config.ts if: "! contains(env.COMMIT_MESSAGE, '[skip ci]') && ! contains(env.COMMIT_MESSAGE, '[ci skip]')" - name: Set running flag run: echo "RUNNING=" >> $GITHUB_ENV if: "! env.GIT_DIFF" - name: Set running flag if: "matrix.os == 'ubuntu-latest' && ! startsWith(github.ref, 'refs/tags/') && github.event.base_ref == format('refs/heads/{0}', github.event.repository.default_branch)" run: echo "RUNNING=1" >> $GITHUB_ENV - name: Set running flag if: "matrix.os == 'ubuntu-latest' && ! startsWith(github.ref, 'refs/tags/') && startsWith(github.base_ref, 'refs/heads/develop/v')" run: echo "RUNNING=1" >> $GITHUB_ENV - name: Set running flag if: matrix.os == 'ubuntu-latest' && startsWith(github.ref, 'refs/tags/v') run: echo "RUNNING=1" >> $GITHUB_ENV - name: Set running flag run: | if [[ ! -f package.json ]] || ! < package.json jq -r '.scripts | keys[]' | grep -qe '^cover$'; then echo "RUNNING=" >> $GITHUB_ENV fi - uses: actions/setup-node@v3 with: node-version: 16 cache: yarn if: env.RUNNING - name: Install Package dependencies run: yarn install if: env.RUNNING - name: Run tests run: yarn cover if: env.RUNNING - name: Codecov run: | if [ -n "$CODECOV_TOKEN" ]; then curl -s https://codecov.io/bash | bash -s -- -t $CODECOV_TOKEN -f $COVERAGE_FILE fi env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} COVERAGE_FILE: ./coverage/lcov.info if: env.RUNNING && matrix.os == 'ubuntu-latest' release: name: Release GitHub Actions needs: cover runs-on: ubuntu-latest timeout-minutes: 5 if: startsWith(github.ref, 'refs/tags/') steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: 16 cache: yarn - uses: technote-space/load-config-action@v1 with: CONFIG_FILENAME: workflow-settings.json, workflow-details.json IGNORE_WARNING: 'true' - name: Release GitHub Actions uses: technote-space/release-github-actions@v8 with: OUTPUT_BUILD_INFO_FILENAME: build.json TEST_TAG_PREFIX: test/ ORIGINAL_TAG_PREFIX: original/ CLEAN_TEST_TAG: true DELETE_NODE_MODULES: ${{ env.RELEASE_GA_DELETE_NODE_MODULES }} package: name: Publish Package needs: cover runs-on: ubuntu-latest timeout-minutes: 5 if: startsWith(github.ref, 'refs/tags/v') strategy: matrix: target: ['npm', 'gpr'] steps: - name: Set running flag run: echo "RUNNING=1" >> $GITHUB_ENV - name: Set running flag run: | if [ -z "$NPM_AUTH_TOKEN" ]; then echo "RUNNING=" >> $GITHUB_ENV fi env: NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} - uses: actions/checkout@v3 if: env.RUNNING - name: Check package version uses: technote-space/package-version-check-action@v1 with: COMMIT_DISABLED: 1 if: env.RUNNING - name: Set running flag run: npx can-npm-publish || echo "RUNNING=" >> $GITHUB_ENV if: env.RUNNING && matrix.target == 'npm' - name: Set running flag run: | LATEST=`npm view . version` 2> /dev/null || : CURRENT=`cat package.json | jq -r .version` if [ "$LATEST" = "$CURRENT" ]; then echo "RUNNING=" >> $GITHUB_ENV fi env: NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} if: env.RUNNING && matrix.target == 'gpr' - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 16 registry-url: https://registry.npmjs.org/ cache: yarn if: env.RUNNING && matrix.target == 'npm' - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 16 registry-url: https://npm.pkg.github.com cache: yarn if: env.RUNNING && matrix.target == 'gpr' - name: Install Package dependencies run: yarn install if: env.RUNNING - name: Build run: yarn build if: env.RUNNING - name: Publish run: | npm config set //registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN npm publish env: NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} if: env.RUNNING && matrix.target == 'npm' - name: Publish run: | npm publish env: NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} if: env.RUNNING && matrix.target == 'gpr' publishRelease: name: Create Release needs: [release, package] runs-on: ubuntu-latest timeout-minutes: 5 steps: - name: Get version run: echo "TAG_NAME=${HEAD_REF#refs/tags/}" >> $GITHUB_ENV env: HEAD_REF: ${{ github.ref }} - name: Create Release id: drafter uses: technote-space/release-drafter@v6 with: GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} DRAFT: false NAME: ${{ env.TAG_NAME }} TAG: ${{ env.TAG_NAME }} - uses: 8398a7/action-slack@v3 with: status: ${{ job.status }} text: ${{ format('<{0}>', steps.drafter.outputs.html_url) }} env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} if: success() && env.SLACK_WEBHOOK_URL slack: name: Slack needs: publishRelease runs-on: ubuntu-latest timeout-minutes: 3 if: always() steps: - uses: technote-space/workflow-conclusion-action@gh-actions - uses: 8398a7/action-slack@v3 with: status: failure env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} if: env.WORKFLOW_CONCLUSION == 'failure' && env.SLACK_WEBHOOK_URL ================================================ FILE: .github/workflows/issue-opened.yml ================================================ on: issues: types: [opened] name: Issue opened jobs: assign: name: Assign issues to project runs-on: ubuntu-latest timeout-minutes: 3 steps: - uses: technote-space/load-config-action@v1 with: CONFIG_FILENAME: workflow-settings.json, workflow-details.json IGNORE_WARNING: 'true' - uses: technote-space/create-project-card-action@v1 with: PROJECT: ${{ env.PROJECT }} COLUMN: ${{ env.ISSUE_COLUMN }} assignAuthor: name: Assign author to issue runs-on: ubuntu-latest timeout-minutes: 3 steps: - uses: technote-space/assign-author@v1 ================================================ FILE: .github/workflows/pr-opened.yml ================================================ on: pull_request_target: types: [opened] name: Pull Request opened jobs: assignToProject: name: Assign PullRequest to Project runs-on: ubuntu-latest timeout-minutes: 3 steps: - uses: technote-space/load-config-action@v1 with: CONFIG_FILENAME: workflow-settings.json, workflow-details.json IGNORE_WARNING: 'true' - uses: technote-space/create-project-card-action@v1 with: PROJECT: ${{ env.PROJECT }} COLUMN: ${{ env.PR_COLUMN }} GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} assignAuthor: name: Assign author to PR runs-on: ubuntu-latest timeout-minutes: 3 steps: - uses: technote-space/assign-author@v1 addLabelsByBranch: name: PR Labeler runs-on: ubuntu-latest timeout-minutes: 3 steps: - uses: technote-space/pr-labeler-action@v4 ================================================ FILE: .github/workflows/pr-updated.yml ================================================ on: pull_request_target concurrency: group: ${{ github.workflow }}-${{ github.ref }} name: Pull Request updated jobs: triage: name: Pull Request Labeler runs-on: ubuntu-latest timeout-minutes: 3 if: "! startsWith(github.head_ref, 'release/')" steps: - uses: actions/labeler@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} history: name: Pull Request Body runs-on: ubuntu-latest timeout-minutes: 3 if: github.event.pull_request.head.user.id == github.event.pull_request.base.user.id steps: - uses: technote-space/load-config-action@v1 with: CONFIG_FILENAME: workflow-settings.json, workflow-details.json IGNORE_WARNING: 'true' - uses: technote-space/pr-commit-body-action@v1 with: EXCLUDE_MESSAGES: ${{ env.EXCLUDE_MESSAGES }} TITLE: ${{ env.PR_BODY_TITLE }} LINK_ISSUE_KEYWORD: ${{ (startsWith(github.head_ref, 'release/') && 'closes') || '' }} FILTER_PR: true CHANGE_TEMPLATE: ${{ env.CHANGE_TEMPLATE }} manageRelease: name: Manage release runs-on: ubuntu-latest timeout-minutes: 3 if: "github.event.pull_request.head.user.id == github.event.pull_request.base.user.id && startsWith(github.head_ref, 'release/') && ! startsWith(github.head_ref, 'release/v')" steps: - uses: technote-space/load-config-action@v1 with: CONFIG_FILENAME: workflow-settings.json, workflow-details.json IGNORE_WARNING: 'true' - uses: technote-space/release-type-action@v1 with: EXCLUDE_MESSAGES: ${{ env.EXCLUDE_MESSAGES }} GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} checkVersion: name: Check package version runs-on: ubuntu-latest timeout-minutes: 3 if: "github.event.action == 'synchronize' && github.event.pull_request.head.user.id == github.event.pull_request.base.user.id && startsWith(github.head_ref, 'release/')" steps: - uses: technote-space/load-config-action@v1 with: CONFIG_FILENAME: workflow-settings.json, workflow-details.json IGNORE_WARNING: 'true' - name: Set running flag run: echo "RUNNING=1" >> $GITHUB_ENV - uses: actions/checkout@v3 with: ref: ${{ github.head_ref }} - name: Set running flag run: | if [[ ! -f package.json ]] || [[ $(< package.json jq -r '.version == null') == 'true' ]]; then echo "RUNNING=" >> $GITHUB_ENV fi - name: Sort run: npx sort-package-json if: env.RUNNING - name: Get version uses: technote-space/get-next-version-action@v1 with: EXCLUDE_MESSAGES: ${{ env.EXCLUDE_MESSAGES }} if: "env.RUNNING && ! startsWith(github.head_ref, 'release/v')" - name: Get version run: echo "NEXT_VERSION=${HEAD_REF#release/}" >> $GITHUB_ENV env: HEAD_REF: ${{ github.head_ref }} if: env.RUNNING && startsWith(github.head_ref, 'release/v') - name: Check package version uses: technote-space/package-version-check-action@v1 with: GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} BRANCH_PREFIX: release/ NEXT_VERSION: ${{ env.NEXT_VERSION }} if: env.NEXT_VERSION checkPublish: name: Check publish runs-on: ubuntu-latest timeout-minutes: 3 if: "github.event.pull_request.head.user.id == github.event.pull_request.base.user.id && startsWith(github.head_ref, 'release/')" steps: - name: Set running flag run: echo "RUNNING=1" >> $GITHUB_ENV - name: Set running flag run: | if [ -z "$NPM_AUTH_TOKEN" ]; then echo "RUNNING=" >> $GITHUB_ENV fi env: NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} - uses: actions/checkout@v3 with: ref: ${{ github.head_ref }} if: env.RUNNING - uses: technote-space/can-npm-publish-action@v1 if: env.RUNNING ================================================ FILE: .github/workflows/project-card-moved.yml ================================================ on: project_card: types: [created, moved] name: Project Card Event jobs: triage: name: Auto card labeler runs-on: ubuntu-latest timeout-minutes: 3 steps: - uses: technote-space/auto-card-labeler@v1 ================================================ FILE: .github/workflows/sync-workflows.yml ================================================ on: schedule: - cron: 0 11 * * 4 repository_dispatch: types: [sync-workflows] workflow_dispatch: name: Sync workflows jobs: release: name: Sync workflows runs-on: ubuntu-latest timeout-minutes: 5 steps: - name: Sync workflows uses: technote-space/create-pr-action@v2 with: GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} EXECUTE_COMMANDS: | rm -rdf .github/workflows/.tmp mkdir -p .github/workflows/.tmp git clone --depth=1 https://github.com/technote-space/github-actions-workflows.git .github/workflows/.tmp/workflows bash .github/workflows/.tmp/workflows/gh-actions/copy.sh sed -i 's/cron:.\+$/cron: 0 9 * * 0/' .github/workflows/update-dependencies.yml rm -rdf .github/workflows/.tmp COMMIT_MESSAGE: 'chore: sync workflows' PR_BRANCH_PREFIX: chore/ PR_BRANCH_NAME: 'chore-sync-workflows' PR_TITLE: 'chore: sync workflows' ONLY_DEFAULT_BRANCH: true ================================================ FILE: .github/workflows/toc.yml ================================================ on: pull_request: types: [opened, synchronize, reopened, closed] concurrency: group: ${{ github.workflow }}-${{ github.ref }} name: TOC Generator jobs: toc: if: github.event.pull_request.head.user.id == github.event.pull_request.base.user.id name: TOC Generator runs-on: ubuntu-latest timeout-minutes: 3 steps: - uses: technote-space/load-config-action@v1 with: CONFIG_FILENAME: workflow-settings.json, workflow-details.json IGNORE_WARNING: 'true' - uses: technote-space/toc-generator@v4 with: GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} TARGET_BRANCH_PREFIX: ${{ env.BRANCH_PREFIX }} FOLDING: ${{ env.TOC_FOLDING }} MAX_HEADER_LEVEL: ${{ env.TOC_MAX_HEADER_LEVEL }} TOC_TITLE: ${{ env.TOC_TITLE }} CREATE_PR: ${{ env.TOC_CREATE_PR }} TARGET_PATHS: ${{ env.TOC_TARGET_PATHS }} FOOTER: ${{ env.TOC_FOOTER }} ================================================ FILE: .github/workflows/update-dependencies.yml ================================================ on: schedule: - cron: 0 9 * * 0 pull_request: types: [opened, reopened, closed] repository_dispatch: types: [update-deps] workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} name: Update dependencies jobs: update: name: Update npm dependencies runs-on: ubuntu-latest timeout-minutes: 10 if: "! startsWith(github.head_ref, 'release/v')" steps: - name: Set running flag run: echo "RUNNING1=" >> $GITHUB_ENV - name: Set running flag run: echo "RUNNING1=1" >> $GITHUB_ENV if: github.event.pull_request.head.user.id == github.event.pull_request.base.user.id - uses: technote-space/load-config-action@v1 if: env.RUNNING1 with: CONFIG_FILENAME: workflow-settings.json, workflow-details.json IGNORE_WARNING: 'true' - name: Update dependencies if: env.RUNNING1 id: update_deps uses: technote-space/create-pr-action@v2 with: GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} EXECUTE_COMMANDS: | npx npm-check-updates -u --packageFile package.json yarn install yarn upgrade yarn audit COMMIT_MESSAGE: 'chore: update npm dependencies' PR_DEFAULT_BRANCH_PREFIX: release/ PR_DEFAULT_BRANCH_NAME: next-${CURRENT_VERSION} PR_DEFAULT_BRANCH_TITLE: 'feat: release' TARGET_BRANCH_PREFIX: release/ AUTO_MERGE_THRESHOLD_DAYS: 14 - name: Set running flag run: echo "RUNNING2=" >> $GITHUB_ENV - name: Set running flag run: echo "RUNNING2=1" >> $GITHUB_ENV if: env.RUNNING1 && steps.update_deps.outputs.result != 'succeeded' && github.event_name == 'pull_request' && github.event.action != 'closed' && startsWith(github.head_ref, 'release/') - uses: actions/checkout@v3 if: env.RUNNING2 - name: Set running flag run: | if [[ ! -f package.json ]] || [[ $(< package.json jq -r '.version == null') == 'true' ]]; then echo "RUNNING2=" >> $GITHUB_ENV fi - name: Sort run: npx sort-package-json if: env.RUNNING2 - name: Get version uses: technote-space/get-next-version-action@v1 with: EXCLUDE_MESSAGES: ${{ env.EXCLUDE_MESSAGES }} if: "env.RUNNING2 && ! startsWith(github.head_ref, 'release/v')" - name: Get version run: echo "NEXT_VERSION=${HEAD_REF#release/}" >> $GITHUB_ENV env: HEAD_REF: ${{ github.head_ref }} if: env.RUNNING2 && startsWith(github.head_ref, 'release/v') - name: Check package version uses: technote-space/package-version-check-action@v1 with: GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} BRANCH_PREFIX: release/ NEXT_VERSION: ${{ env.NEXT_VERSION }} if: env.NEXT_VERSION ================================================ FILE: .gitignore ================================================ /.idea /node_modules /coverage /lib /.work .eslintcache .env ================================================ FILE: .husky/.gitignore ================================================ _ ================================================ FILE: .husky/commit-msg ================================================ #!/bin/sh . "$(dirname "$0")/_/husky.sh" yarn commitlint -- --edit $1 ================================================ FILE: .husky/pre-commit ================================================ #!/bin/sh . "$(dirname "$0")/_/husky.sh" yarn lint-staged ================================================ FILE: .lintstagedrc ================================================ { "*.{js,jsx,ts,tsx}": "yarn lint:fix" } ================================================ FILE: .releasegarc ================================================ { "inputs": { "OUTPUT_BUILD_INFO_FILENAME": "build.json", "TEST_TAG_PREFIX": "test/", "CLEAN_TEST_TAG": "true" } } ================================================ FILE: LICENSE ================================================ The MIT License (MIT) Copyright (c) 2020 Technote Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.ja.md ================================================ # Workflow Conclusion Action [![CI Status](https://github.com/technote-space/workflow-conclusion-action/workflows/CI/badge.svg)](https://github.com/technote-space/workflow-conclusion-action/actions) [![codecov](https://codecov.io/gh/technote-space/workflow-conclusion-action/branch/main/graph/badge.svg)](https://codecov.io/gh/technote-space/workflow-conclusion-action) [![CodeFactor](https://www.codefactor.io/repository/github/technote-space/workflow-conclusion-action/badge)](https://www.codefactor.io/repository/github/technote-space/workflow-conclusion-action) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/technote-space/workflow-conclusion-action/blob/main/LICENSE) *Read this in other languages: [English](README.md), [日本語](README.ja.md).* これはワークフローの結果を取得するための`GitHub Actions`です。 ## Table of Contents
Details - [使用方法](#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95) - [Success](#success) - [Failure](#failure) - [Author](#author) *generated with [TOC Generator](https://github.com/technote-space/toc-generator)*
## 使用方法 例:Lint => Test => Publish (タグ付与時のみ) => slack (いずれかのジョブが失敗した場合のみ) ```yaml on: push name: CI jobs: lint: name: ESLint runs-on: ubuntu-latest ... test: name: Coverage needs: lint strategy: matrix: node: ['11', '12'] ... publish: name: Publish Package needs: test if: startsWith(github.ref, 'refs/tags/v') ... slack: name: Slack needs: publish # このjobを除いた最後のjobを"needs"に設定 runs-on: ubuntu-latest if: always() # "always"を設定 steps: # workflowの結果を取得するためにこのアクションを実行 # 環境変数から結果を取得できます (env.WORKFLOW_CONCLUSION) - uses: technote-space/workflow-conclusion-action@v3 # workflowの結果を使用してアクションを実行 - uses: 8398a7/action-slack@v3 with: # status: ${{ env.WORKFLOW_CONCLUSION }} # neutral, success, skipped, cancelled, timed_out, action_required, failure status: failure env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} if: env.WORKFLOW_CONCLUSION == 'failure' # 失敗を通知する場合 ``` ### Success ![Success](https://raw.githubusercontent.com/technote-space/workflow-conclusion-action/images/success.png) すべてのジョブが正常だったため、Slackアクションはスキップされます。 ### Failure ![Failure](https://raw.githubusercontent.com/technote-space/workflow-conclusion-action/images/failure.png) いくつかのジョブがスキップされた場合でもSlackアクションは実行されます。 ## Author [GitHub (Technote)](https://github.com/technote-space) [Blog](https://technote.space) ================================================ FILE: README.md ================================================ # Workflow Conclusion Action [![CI Status](https://github.com/technote-space/workflow-conclusion-action/workflows/CI/badge.svg)](https://github.com/technote-space/workflow-conclusion-action/actions) [![codecov](https://codecov.io/gh/technote-space/workflow-conclusion-action/branch/main/graph/badge.svg)](https://codecov.io/gh/technote-space/workflow-conclusion-action) [![CodeFactor](https://www.codefactor.io/repository/github/technote-space/workflow-conclusion-action/badge)](https://www.codefactor.io/repository/github/technote-space/workflow-conclusion-action) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/technote-space/workflow-conclusion-action/blob/main/LICENSE) *Read this in other languages: [English](README.md), [日本語](README.ja.md).* GitHub action to get workflow conclusion. ## Table of Contents
Details - [Usage](#usage) - [Success](#success) - [Failure](#failure) - [Author](#author) *generated with [TOC Generator](https://github.com/technote-space/toc-generator)*
## Usage e.g. Lint => Test => Publish (only tagged) => slack (only if any job fails) ```yaml on: push name: CI jobs: lint: name: ESLint runs-on: ubuntu-latest ... test: name: Coverage needs: lint strategy: matrix: node: ['11', '12'] ... publish: name: Publish Package needs: test if: startsWith(github.ref, 'refs/tags/v') ... slack: name: Slack needs: publish # set "needs" only last job except this job runs-on: ubuntu-latest if: always() # set "always" steps: # run this action to get the workflow conclusion # You can get the conclusion via env (env.WORKFLOW_CONCLUSION) - uses: technote-space/workflow-conclusion-action@v3 # run other action with the workflow conclusion - uses: 8398a7/action-slack@v3 with: # status: ${{ env.WORKFLOW_CONCLUSION }} # neutral, success, skipped, cancelled, timed_out, action_required, failure status: failure env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} if: env.WORKFLOW_CONCLUSION == 'failure' # notify only if failure ``` ### Success ![Success](https://raw.githubusercontent.com/technote-space/workflow-conclusion-action/images/success.png) Slack action step is skipped because all jobs are success. ### Failure ![Failure](https://raw.githubusercontent.com/technote-space/workflow-conclusion-action/images/failure.png) Slack action step has been executed even if some jobs were skipped. ## Author [GitHub (Technote)](https://github.com/technote-space) [Blog](https://technote.space) ================================================ FILE: _config.yml ================================================ theme: jekyll-theme-architect # Google Analytics google_analytics: UA-78163306-3 ================================================ FILE: action.yml ================================================ name: Workflow Conclusion Action description: GitHub action to get workflow conclusion. author: technote-space inputs: GITHUB_TOKEN: description: Secret GitHub API token to use for making API requests. default: ${{ github.token }} required: false TARGET_RUN_ID: description: Target run id default: ${{ github.run_id }} required: false SET_ENV_NAME: description: Env name required: false default: WORKFLOW_CONCLUSION FALLBACK_CONCLUSION: description: Fallback conclusion required: false default: skipped STRICT_SUCCESS: description: Whether to report as success only if all jobs are successful required: false default: "false" outputs: conclusion: description: Workflow conclusion branding: icon: 'check-circle' color: 'green' runs: using: node16 main: lib/main.js ================================================ FILE: package.json ================================================ { "name": "@technote-space/workflow-conclusion-action", "version": "3.0.3", "description": "GitHub action to get workflow conclusion.", "keywords": [ "github", "github actions" ], "homepage": "https://github.com/technote-space/workflow-conclusion-action", "bugs": { "url": "https://github.com/technote-space/workflow-conclusion-action/issues" }, "repository": { "type": "git", "url": "https://github.com/technote-space/workflow-conclusion-action.git" }, "license": "MIT", "author": { "name": "Technote", "email": "technote.space@gmail.com", "url": "https://technote.space" }, "files": [ "lib", "action.yml" ], "scripts": { "build": "rm -rdf lib && rollup -c", "cover": "vitest run --coverage", "postinstall": "[ -n \"$CI\" ] || [ ! -f node_modules/.bin/husky ] || husky install", "lint": "eslint 'src/**/*.ts' --cache", "lint:fix": "eslint --fix 'src/**/*.ts'", "prepublishOnly": "[ -n \"$CI\" ] || [ ! -f node_modules/.bin/pinst ] || pinst --disable", "postpublish": "[ -n \"$CI\" ] || [ ! -f node_modules/.bin/pinst ] || pinst --enable", "release": "yarn release-ga --test", "test": "yarn lint && yarn typecheck && yarn cover", "typecheck": "tsc --noEmit", "update": "npm_config_yes=true npx npm-check-updates -u --timeout 100000 && yarn install && yarn upgrade && yarn audit" }, "devDependencies": { "@actions/core": "^1.10.0", "@actions/github": "^5.1.1", "@commitlint/cli": "^17.3.0", "@commitlint/config-conventional": "^17.3.0", "@octokit/openapi-types": "^14.0.0", "@octokit/types": "^8.0.0", "@rollup/plugin-commonjs": "^23.0.3", "@rollup/plugin-json": "^5.0.2", "@rollup/plugin-node-resolve": "^15.0.1", "@rollup/plugin-typescript": "^10.0.1", "@sindresorhus/tsconfig": "^3.0.1", "@technote-space/github-action-helper": "^5.3.10", "@technote-space/github-action-log-helper": "^0.2.9", "@technote-space/github-action-test-helper": "^0.11.1", "@technote-space/release-github-actions-cli": "^1.9.3", "@types/node": "^18.11.11", "@typescript-eslint/eslint-plugin": "^5.45.1", "@typescript-eslint/parser": "^5.45.1", "@vitest/coverage-c8": "^0.25.4", "eslint": "^8.29.0", "eslint-plugin-import": "^2.26.0", "husky": "^8.0.2", "lint-staged": "^13.1.0", "nock": "^13.2.9", "pinst": "^3.0.0", "rollup": "^3.6.0", "typescript": "^4.9.3", "vitest": "^0.25.4" }, "publishConfig": { "access": "public" } } ================================================ FILE: rollup.config.mjs ================================================ import pluginCommonjs from '@rollup/plugin-commonjs'; import pluginJson from '@rollup/plugin-json'; import pluginNodeResolve from '@rollup/plugin-node-resolve'; import pluginTypescript from '@rollup/plugin-typescript'; export default { input: 'src/main.ts', output: { file: 'lib/main.js', format: 'cjs', }, plugins: [ pluginTypescript(), pluginNodeResolve(), pluginCommonjs(), pluginJson(), ], }; ================================================ FILE: src/constant.ts ================================================ export const CONCLUSIONS = [ 'neutral', 'skipped', 'success', 'cancelled', 'timed_out', 'action_required', 'failure', ]; ================================================ FILE: src/fixtures/actions.list.jobs1.json ================================================ { "total_count": 2, "jobs": [ { "id": 399444495, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444495", "html_url": "https://github.com/octo-org/octo-repo/runs/399444495", "status": "queued", "conclusion": "skipped", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "build", "steps": [], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496" }, { "id": 399444496, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496", "html_url": "https://github.com/octo-org/octo-repo/runs/399444496", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "build", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496" } ] } ================================================ FILE: src/fixtures/actions.list.jobs2.json ================================================ { "total_count": 4, "jobs": [ { "id": 399444496, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496", "html_url": "https://github.com/octo-org/octo-repo/runs/399444496", "status": "completed", "conclusion": null, "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "build", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496" }, { "id": 399444497, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444497", "html_url": "https://github.com/octo-org/octo-repo/runs/399444497", "status": "completed", "conclusion": "cancelled", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444497" }, { "id": 399444498, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444498", "html_url": "https://github.com/octo-org/octo-repo/runs/399444498", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "build", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444498" }, { "id": 399444499, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444499", "html_url": "https://github.com/octo-org/octo-repo/runs/399444499", "status": "queued", "conclusion": "skipped", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "release", "steps": [], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444499" } ] } ================================================ FILE: src/fixtures/actions.list.jobs3.json ================================================ { "total_count": 33, "jobs": [ { "id": 399444496, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496", "html_url": "https://github.com/octo-org/octo-repo/runs/399444496", "status": "completed", "conclusion": "failure", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "lint", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496" }, { "id": 399444497, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444497", "html_url": "https://github.com/octo-org/octo-repo/runs/399444497", "status": "completed", "conclusion": "cancelled", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444497" }, { "id": 399444498, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444498", "html_url": "https://github.com/octo-org/octo-repo/runs/399444498", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "build", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444498" }, { "id": 399444500, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444500", "html_url": "https://github.com/octo-org/octo-repo/runs/399444500", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test0", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444500" }, { "id": 399444501, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444501", "html_url": "https://github.com/octo-org/octo-repo/runs/399444501", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test1", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444501" }, { "id": 399444502, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444502", "html_url": "https://github.com/octo-org/octo-repo/runs/399444502", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test2", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444502" }, { "id": 399444503, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444503", "html_url": "https://github.com/octo-org/octo-repo/runs/399444503", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test3", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444503" }, { "id": 399444504, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444504", "html_url": "https://github.com/octo-org/octo-repo/runs/399444504", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test4", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444504" }, { "id": 399444505, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444505", "html_url": "https://github.com/octo-org/octo-repo/runs/399444505", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test5", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444505" }, { "id": 399444506, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444506", "html_url": "https://github.com/octo-org/octo-repo/runs/399444506", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test6", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444506" }, { "id": 399444507, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444507", "html_url": "https://github.com/octo-org/octo-repo/runs/399444507", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test7", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444507" }, { "id": 399444508, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444508", "html_url": "https://github.com/octo-org/octo-repo/runs/399444508", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test8", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444508" }, { "id": 399444509, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444509", "html_url": "https://github.com/octo-org/octo-repo/runs/399444509", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test9", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444509" }, { "id": 399444510, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444510", "html_url": "https://github.com/octo-org/octo-repo/runs/399444510", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test10", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444510" }, { "id": 399444511, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444511", "html_url": "https://github.com/octo-org/octo-repo/runs/399444511", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test11", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444511" }, { "id": 399444512, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444512", "html_url": "https://github.com/octo-org/octo-repo/runs/399444512", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test12", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444512" }, { "id": 399444513, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444513", "html_url": "https://github.com/octo-org/octo-repo/runs/399444513", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test13", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444513" }, { "id": 399444514, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444514", "html_url": "https://github.com/octo-org/octo-repo/runs/399444514", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test14", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444514" }, { "id": 399444515, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444515", "html_url": "https://github.com/octo-org/octo-repo/runs/399444515", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test15", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444515" }, { "id": 399444516, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444516", "html_url": "https://github.com/octo-org/octo-repo/runs/399444516", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test16", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444516" }, { "id": 399444517, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444517", "html_url": "https://github.com/octo-org/octo-repo/runs/399444517", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test17", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444517" }, { "id": 399444518, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444518", "html_url": "https://github.com/octo-org/octo-repo/runs/399444518", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test18", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444518" }, { "id": 399444519, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444519", "html_url": "https://github.com/octo-org/octo-repo/runs/399444519", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test19", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444519" }, { "id": 399444520, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444520", "html_url": "https://github.com/octo-org/octo-repo/runs/399444520", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test20", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444520" }, { "id": 399444521, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444521", "html_url": "https://github.com/octo-org/octo-repo/runs/399444521", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test21", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444521" }, { "id": 399444522, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444522", "html_url": "https://github.com/octo-org/octo-repo/runs/399444522", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test22", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444522" }, { "id": 399444523, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444523", "html_url": "https://github.com/octo-org/octo-repo/runs/399444523", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test23", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444523" }, { "id": 399444524, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444524", "html_url": "https://github.com/octo-org/octo-repo/runs/399444524", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test24", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444524" }, { "id": 399444525, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444525", "html_url": "https://github.com/octo-org/octo-repo/runs/399444525", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test25", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444525" }, { "id": 399444526, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444526", "html_url": "https://github.com/octo-org/octo-repo/runs/399444526", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test26", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444526" }, { "id": 399444527, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444527", "html_url": "https://github.com/octo-org/octo-repo/runs/399444527", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test27", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444527" }, { "id": 399444528, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444528", "html_url": "https://github.com/octo-org/octo-repo/runs/399444528", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test28", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444528" }, { "id": 399444529, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444529", "html_url": "https://github.com/octo-org/octo-repo/runs/399444529", "status": "completed", "conclusion": "success", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test29", "steps": [ { "name": "Set up job", "status": "completed", "conclusion": "success", "number": 1, "started_at": "2020-01-20T09:42:40.000-08:00", "completed_at": "2020-01-20T09:42:41.000-08:00" }, { "name": "Run actions/checkout@v2", "status": "completed", "conclusion": "success", "number": 2, "started_at": "2020-01-20T09:42:41.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Set up Ruby", "status": "completed", "conclusion": "success", "number": 3, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:45.000-08:00" }, { "name": "Run actions/cache@v2", "status": "completed", "conclusion": "success", "number": 4, "started_at": "2020-01-20T09:42:45.000-08:00", "completed_at": "2020-01-20T09:42:48.000-08:00" }, { "name": "Install Bundler", "status": "completed", "conclusion": "success", "number": 5, "started_at": "2020-01-20T09:42:48.000-08:00", "completed_at": "2020-01-20T09:42:52.000-08:00" }, { "name": "Install Gems", "status": "completed", "conclusion": "success", "number": 6, "started_at": "2020-01-20T09:42:52.000-08:00", "completed_at": "2020-01-20T09:42:53.000-08:00" }, { "name": "Run Tests", "status": "completed", "conclusion": "success", "number": 7, "started_at": "2020-01-20T09:42:53.000-08:00", "completed_at": "2020-01-20T09:42:59.000-08:00" }, { "name": "Deploy to Heroku", "status": "completed", "conclusion": "success", "number": 8, "started_at": "2020-01-20T09:42:59.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Post actions/cache@v2", "status": "completed", "conclusion": "success", "number": 16, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" }, { "name": "Complete job", "status": "completed", "conclusion": "success", "number": 17, "started_at": "2020-01-20T09:44:39.000-08:00", "completed_at": "2020-01-20T09:44:39.000-08:00" } ], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444529" } ] } ================================================ FILE: src/fixtures/actions.list.jobs4.json ================================================ { "total_count": 4, "jobs": [ { "id": 399444496, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496", "html_url": "https://github.com/octo-org/octo-repo/runs/399444496", "status": "queued", "conclusion": "skipped", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "build", "steps": [], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496" }, { "id": 399444497, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444497", "html_url": "https://github.com/octo-org/octo-repo/runs/399444497", "status": "queued", "conclusion": "skipped", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "test", "steps": [], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444497" }, { "id": 399444498, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444498", "html_url": "https://github.com/octo-org/octo-repo/runs/399444498", "status": "queued", "conclusion": "skipped", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "build", "steps": [], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444498" }, { "id": 399444499, "run_id": 29679449, "run_url": "https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449", "node_id": "MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==", "head_sha": "f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0", "url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444499", "html_url": "https://github.com/octo-org/octo-repo/runs/399444499", "status": "queued", "conclusion": "skipped", "started_at": "2020-01-20T17:42:40Z", "completed_at": "2020-01-20T17:44:39Z", "name": "release", "steps": [], "check_run_url": "https://api.github.com/repos/octo-org/octo-repo/check-runs/399444499" } ] } ================================================ FILE: src/main.ts ================================================ import { resolve } from 'path'; import { setFailed } from '@actions/core'; import { Context } from '@actions/github/lib/context'; import { ContextHelper, Utils } from '@technote-space/github-action-helper'; import { Logger } from '@technote-space/github-action-log-helper'; import { execute } from './process'; const run = async(): Promise => { const logger = new Logger(); const context = new Context(); ContextHelper.showActionInfo(resolve(__dirname, '..'), logger, context); await execute(logger, Utils.getOctokit(), context); }; run().catch(error => { console.log(error); setFailed(error.message); }); ================================================ FILE: src/process.test.ts ================================================ import { resolve } from 'path'; import { Logger } from '@technote-space/github-action-log-helper'; import { testEnv, spyOnStdout, getOctokit, generateContext, getApiFixture, disableNetConnect, stdoutContains, getLogStdout, spyOnExportVariable, exportVariableCalledWith, spyOnSetOutput, setOutputCalledWith, } from '@technote-space/github-action-test-helper'; import nock from 'nock'; import { describe, expect, it } from 'vitest'; import { getJobs, getJobConclusions, getWorkflowConclusion, execute } from './process'; const rootDir = resolve(__dirname, '..'); const fixtureRootDir = resolve(__dirname, 'fixtures'); const context = generateContext({ owner: 'hello', repo: 'world' }, { runId: 123, }); const octokit = getOctokit(); const logger = new Logger(); describe('getJobs', () => { testEnv(rootDir); disableNetConnect(nock); it('should get jobs', async() => { nock('https://api.github.com') .persist() .get('/repos/hello/world/actions/runs/123/jobs') .reply(200, () => getApiFixture(fixtureRootDir, 'actions.list.jobs1')); const jobs = await getJobs(octokit, context); expect(jobs).toHaveLength(2); expect(jobs[0]).toHaveProperty('id'); expect(jobs[0]).toHaveProperty('status'); expect(jobs[0]).toHaveProperty('conclusion'); }); it('should get jobs with input run id', async() => { process.env.INPUT_TARGET_RUN_ID = '456'; nock('https://api.github.com') .persist() .get('/repos/hello/world/actions/runs/456/jobs') .reply(200, () => getApiFixture(fixtureRootDir, 'actions.list.jobs1')); const jobs = await getJobs(octokit, context); expect(jobs).toHaveLength(2); }); }); describe('getJobConclusions', () => { it('should get conclusions', () => { expect(getJobConclusions([ { conclusion: 'cancelled' }, { conclusion: null }, { conclusion: 'neutral' }, { conclusion: 'failure' }, { conclusion: 'success' }, { conclusion: 'failure' }, { conclusion: 'success' }, { conclusion: 'cancelled' }, { conclusion: 'skipped' }, { conclusion: 'test1' }, { conclusion: 'test2' }, { conclusion: 'test3' }, ])).toEqual([ 'cancelled', 'neutral', 'failure', 'success', 'skipped', 'test1', 'test2', 'test3', ]); }); }); describe('getWorkflowConclusion', () => { testEnv(rootDir); it('should get workflow conclusion', () => { expect(getWorkflowConclusion([])).toBe('skipped'); expect(getWorkflowConclusion(['test'])).toBe('skipped'); expect(getWorkflowConclusion([ 'neutral', 'cancelled', 'success', ])).toBe('cancelled'); expect(getWorkflowConclusion([ 'failure', 'cancelled', ])).toBe('failure'); }); it('should get specified fallback conclusion', () => { process.env.INPUT_FALLBACK_CONCLUSION = 'failure'; expect(getWorkflowConclusion([])).toBe('failure'); }); it('should get workflow conclusion (strict success)', () => { process.env.INPUT_STRICT_SUCCESS = 'true'; expect(getWorkflowConclusion(['success'])).toBe('success'); expect(getWorkflowConclusion(['success', 'success'])).toBe('success'); expect(getWorkflowConclusion(['skipped'])).toBe('failure'); expect(getWorkflowConclusion(['success', 'success', 'skipped'])).toBe('failure'); expect(getWorkflowConclusion([])).toBe('skipped'); process.env.INPUT_FALLBACK_CONCLUSION = 'failure'; expect(getWorkflowConclusion([])).toBe('failure'); }); }); describe('execute', () => { testEnv(rootDir); disableNetConnect(nock); it('should get payload 1', async() => { const mockStdout = spyOnStdout(); const mockEnv = spyOnExportVariable(); const mockOutput = spyOnSetOutput(); nock('https://api.github.com') .persist() .get('/repos/hello/world/actions/runs/123/jobs') .reply(200, () => getApiFixture(fixtureRootDir, 'actions.list.jobs1')); await execute(logger, octokit, context); stdoutContains(mockStdout, [ '::group::Jobs:', '::group::Conclusions:', getLogStdout(['skipped', 'success']), '::group::Conclusion:', '"success"', ]); exportVariableCalledWith(mockEnv, [ { name: 'WORKFLOW_CONCLUSION', val: 'success' }, ]); setOutputCalledWith(mockOutput, [ { name: 'conclusion', value: 'success' }, ]); }); it('should get payload 2', async() => { const mockStdout = spyOnStdout(); const mockEnv = spyOnExportVariable(); const mockOutput = spyOnSetOutput(); nock('https://api.github.com') .persist() .get('/repos/hello/world/actions/runs/123/jobs') .reply(200, () => getApiFixture(fixtureRootDir, 'actions.list.jobs2')); await execute(logger, octokit, context); stdoutContains(mockStdout, [ '::group::Jobs:', '::group::Conclusions:', getLogStdout(['cancelled', 'success', 'skipped']), '::group::Conclusion:', '"cancelled"', ]); exportVariableCalledWith(mockEnv, [ { name: 'WORKFLOW_CONCLUSION', val: 'cancelled' }, ]); setOutputCalledWith(mockOutput, [ { name: 'conclusion', value: 'cancelled' }, ]); }); it('should get payload 3', async() => { const mockStdout = spyOnStdout(); const mockEnv = spyOnExportVariable(); const mockOutput = spyOnSetOutput(); nock('https://api.github.com') .persist() .get('/repos/hello/world/actions/runs/123/jobs') .reply(200, () => getApiFixture(fixtureRootDir, 'actions.list.jobs3')); await execute(logger, octokit, context); stdoutContains(mockStdout, [ '::group::Jobs:', '::group::Conclusions:', getLogStdout(['failure', 'cancelled', 'success']), '::group::Conclusion:', '"failure"', ]); exportVariableCalledWith(mockEnv, [ { name: 'WORKFLOW_CONCLUSION', val: 'failure' }, ]); setOutputCalledWith(mockOutput, [ { name: 'conclusion', value: 'failure' }, ]); }); it('should get payload 4', async() => { const mockStdout = spyOnStdout(); const mockEnv = spyOnExportVariable(); const mockOutput = spyOnSetOutput(); nock('https://api.github.com') .persist() .get('/repos/hello/world/actions/runs/123/jobs') .reply(200, () => getApiFixture(fixtureRootDir, 'actions.list.jobs4')); await execute(logger, octokit, context); stdoutContains(mockStdout, [ '::group::Jobs:', '::group::Conclusions:', getLogStdout(['skipped']), '::group::Conclusion:', '"skipped"', ]); exportVariableCalledWith(mockEnv, [ { name: 'WORKFLOW_CONCLUSION', val: 'skipped' }, ]); setOutputCalledWith(mockOutput, [ { name: 'conclusion', value: 'skipped' }, ]); }); it('should get payload without env', async() => { process.env.INPUT_SET_ENV_NAME = ''; const mockStdout = spyOnStdout(); const mockOutput = spyOnSetOutput(); nock('https://api.github.com') .persist() .get('/repos/hello/world/actions/runs/123/jobs') .reply(200, () => getApiFixture(fixtureRootDir, 'actions.list.jobs1')); await execute(logger, octokit, context); stdoutContains(mockStdout, [ '::group::Jobs:', '::group::Conclusions:', getLogStdout(['skipped', 'success']), '::group::Conclusion:', '"success"', ]); setOutputCalledWith(mockOutput, [ { name: 'conclusion', value: 'success' }, ]); }); }); ================================================ FILE: src/process.ts ================================================ import type { Context } from '@actions/github/lib/context'; import type { components } from '@octokit/openapi-types'; import type { Octokit } from '@technote-space/github-action-helper/dist/types'; import type { Logger } from '@technote-space/github-action-log-helper'; import { setOutput, exportVariable, getInput } from '@actions/core'; import { Utils } from '@technote-space/github-action-helper'; import { CONCLUSIONS } from './constant'; type ActionsListJobsForWorkflowRunResponseData = components['schemas']['job']; export const getTargetRunId = (context: Context): number => /^\d+$/.test(getInput('TARGET_RUN_ID')) ? Number(getInput('TARGET_RUN_ID')) : context.runId; export const getJobs = async(octokit: Octokit, context: Context): Promise> => octokit.paginate( octokit.rest.actions.listJobsForWorkflowRun, { ...context.repo, 'run_id': getTargetRunId(context), }, ); export const getJobConclusions = (jobs: Array<{ conclusion: string | null }>): Array => Utils.uniqueArray( jobs .filter((job): job is { conclusion: string } => null !== job.conclusion) .map(job => job.conclusion), ); export const getWorkflowConclusion = (conclusions: Array): string => !conclusions.length ? getInput('FALLBACK_CONCLUSION') : Utils.getBoolValue(getInput('STRICT_SUCCESS')) ? conclusions.some(conclusion => conclusion !== 'success') ? 'failure' : 'success' : CONCLUSIONS.filter(conclusion => conclusions.includes(conclusion)).slice(-1)[0] ?? getInput('FALLBACK_CONCLUSION'); export const execute = async(logger: Logger, octokit: Octokit, context: Context): Promise => { const jobs = await getJobs(octokit, context); const conclusions = getJobConclusions(jobs); const conclusion = getWorkflowConclusion(conclusions); logger.startProcess('Jobs: '); console.log(jobs); logger.startProcess('Conclusions: '); console.log(conclusions); logger.startProcess('Conclusion: '); console.log(conclusion); setOutput('conclusion', conclusion); const envName = getInput('SET_ENV_NAME'); if (envName) { exportVariable(envName, conclusion); } }; ================================================ FILE: src/setup.ts ================================================ import { setupGlobal } from '@technote-space/github-action-test-helper'; setupGlobal(); ================================================ FILE: tsconfig.json ================================================ { "extends": "@sindresorhus/tsconfig", "compilerOptions": { "outDir": "dist", "target": "ES2021", "module": "ES2020", "lib": [ "ES2021" ], "moduleResolution": "node", "noPropertyAccessFromIndexSignature": false, "noImplicitAny": false }, "include": [ "src" ] } ================================================ FILE: vite.config.ts ================================================ /// import { defineConfig } from 'vite'; // https://vitejs.dev/config/ export default defineConfig({ test: { setupFiles: './src/setup.ts', clearMocks: true, mockReset: true, restoreMocks: true, coverage: { reporter: ['html', 'lcov', 'text'], }, deps: { inline: [/github-action-test-helper/] }, }, });