Skip to content

relative-ci/agent-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

RelativeCI agent

GitHub action that sends bundle stats and CI build information to RelativeCI.

Other agents


  1. Usage
  1. Inputs
  2. Secrets

Usage

View action.yml

push/pull_request events

# .github/workflow/node.js.yml
name: Node.js CI

on:
  push:
    branches:
      - master
  pull_request:

jobs:
  build:
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '18.x'

      # Install dependencies
      - run: npm ci

      # Build and output bundle stats
      # see https://relative-ci.com/documentation/setup/agent/github-action/#step-1-output-bundle-stats-json-file
      - run: npm run build -- --json webpack-stats
      
      - name: Send bundle stats to RelativeCI
        uses: relative-ci/agent-action@v2
        with:
          key: ${{ secrets.RELATIVE_CI_KEY }}
          token: ${{ secrets.GITHUB_TOKEN }}
          webpackStatsFile: ./webpack-stats.json

workflow_run events

Read more about workflows triggered by forked repositories.

Build and upload bundle stats artifacts using relative-ci/agent-upload-artifact-action

# .github/workflows/build.yaml
name: Build

on:
  push:
    branches:
      - master
  pull_request:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '18.x'

      # Install dependencies
      - run: npm ci

      # Build and output bundle stats to webpack-stats.json
      - run: npm run build --json webpack-stats.json

      # Upload webpack-stats.json to use on relative-ci.yaml workflow
      - name: Upload bundle stats artifact
        uses: relative-ci/agent-upload-artifact-action@v1
        with:
          webpackStatsFile: ./webpack-stats.json

Send bundle stats and build information to RelativeCI

The workflow runs securely in the default branch context(ex: main). relative-ci/agent-action uses the build information (commit, message, branch) corresponding to the commit that triggerd the Build workflow.

# .github/workflows/relative-ci.yaml
name: RelativeCI

on:
  workflow_run:
    workflows: ["Build"]
    types:
      - completed

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Send bundle stats and build information to RelativeCI
        uses: relative-ci/agent-action@v2
        with:
          key: ${{ secrets.RELATIVE_CI_KEY }}
          token: ${{ secrets.GITHUB_TOKEN }}

Inputs

key

Required RelativeCI project key

token

Required GitHub token

webpackStatsFile

Required (only when running during push or pull_request events) Path to the bundle stats file

Optional

slug

Default: GITHUB_REPOSITORY evironment variable

Your project slug

includeCommitMessage

Default: true

Fetch commit message from GitHub when the context commit is different that the commit that triggered the workflow (eg: pull_request event).

debug

Default: false

Enable debug output

artifactName

Default: relative-ci-artifacts when running during workflow_run event

The name of the artifact that containts the bundle stats uploaded by the triggering workflow

Secrets

RELATIVE_CI_KEY

Your RelativeCI project key