Skip to content
Latchkey

CircleCI artifacts redirector workflow (scikit-learn/scikit-learn)

The CircleCI artifacts redirector workflow from scikit-learn/scikit-learn, explained and optimized by Latchkey.

B

CI health: B - good

Point runs-on at Latchkey and get job timeouts, SHA-pinned actions, self-healing for flaky steps, and up to 58% lower cost, applied automatically.

Grade your own workflow free or run it on Latchkey →
Source: scikit-learn/scikit-learn.github/workflows/artifact-redirector.ymlLicense BSD-3-ClauseView source

What it does

This is the CircleCI artifacts redirector workflow from the scikit-learn/scikit-learn repository, a real project running GitHub Actions. It is shown here with attribution under its BSD-3-Clause license.

Below, Latchkey shows a faster, safer version produced by its optimization engine.

The workflow

workflow (.yml)
name: CircleCI artifacts redirector
on: [status]

# Restrict the permissions granted to the use of secrets.GITHUB_TOKEN in this
# github actions workflow:
# https://docs.github.com/en/actions/security-guides/automatic-token-authentication
permissions:
  statuses: write

jobs:
  circleci_artifacts_redirector_job:
    runs-on: ubuntu-latest
    # For testing this action on a fork, remove the "github.repository =="" condition.
    if: "github.repository == 'scikit-learn/scikit-learn' && github.event.context == 'ci/circleci: doc'"
    name: Run CircleCI artifacts redirector
    steps:
      - name: GitHub Action step
        uses: scientific-python/circleci-artifacts-redirector-action@v1
        with:
          repo-token: ${{ secrets.GITHUB_TOKEN }}
          api-token: ${{ secrets.CIRCLECI_TOKEN }}
          artifact-path: 0/doc/_changed.html
          circleci-jobs: doc
          job-title: Check the rendered docs here!

The same workflow, on Latchkey

Removes redundant runs and caps runaway jobs. Added and changed lines are highlighted.

name: CircleCI artifacts redirector
on: [status]
 
# Restrict the permissions granted to the use of secrets.GITHUB_TOKEN in this
# github actions workflow:
# https://docs.github.com/en/actions/security-guides/automatic-token-authentication
permissions:
  statuses: write
 
jobs:
  circleci_artifacts_redirector_job:
    timeout-minutes: 30
    runs-on: latchkey-small
    # For testing this action on a fork, remove the "github.repository =="" condition.
    if: "github.repository == 'scikit-learn/scikit-learn' && github.event.context == 'ci/circleci: doc'"
    name: Run CircleCI artifacts redirector
    steps:
      - name: GitHub Action step
        uses: scientific-python/circleci-artifacts-redirector-action@v1
        with:
          repo-token: ${{ secrets.GITHUB_TOKEN }}
          api-token: ${{ secrets.CIRCLECI_TOKEN }}
          artifact-path: 0/doc/_changed.html
          circleci-jobs: doc
          job-title: Check the rendered docs here!
 

What changed

1 third-party action is referenced by a movable tag. Pin it to the commit SHA (Latchkey resolves and applies this automatically) so a repointed tag cannot change what runs.

This workflow runs 1 job per trigger. On Latchkey the same minutes cost up to 58% less than GitHub-hosted, with zero queue time.