Cache Management Automation: Linear Resolution to GitHub Cleanup

Mark an issue Done in Linear and Notis automatically clears the associated GitHub Actions build cache. The next CI run rebuilds from scratch, preventing stale artifacts from causing problems.

Trigger

Issue Updated Trigger

Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.

GitHub logo

Action

Clear repository cache by key

Deletes github actions caches from a repository matching a specific `key` and an optional git `ref`, used to manage storage or clear outdated/corrupted caches; the action succeeds even if no matching caches are found to delete.

Why this helps

Issues are marked resolved but cached build artifacts stay around, leading to stale dependencies or old code getting redeployed. Figuring out which caches to clear is manual and error-prone.

  • Prevent stale cached artifacts from causing mysterious production bugs
  • Reduce GitHub Actions storage costs by removing unused caches
  • Ensure every deployment after issue resolution uses fresh code
  • Automate a task that's usually forgotten

Setup

Build it in a few focused steps.

  • 1Connect Linear and GitHub to Notis
  • 2Identify which cache keys are associated with different features or components
  • 3Create an automation: 'When an issue is marked Done in Linear, clear the corresponding GitHub Actions cache'
  • 4Specify cache patterns in your prompt: 'if the issue was for the auth module, clear the auth-build cache'
  • 5Set trigger to 'Linear issue properties updated' (captures status changes)
  • 6Test by marking a Linear issue Done and verifying GitHub caches are cleared
  • 7Verify the next CI run rebuilds from scratch

Questions about this workflow

How do I know which cache to clear?

Use cache key naming that maps to issues: 'use cache keys like feature-auth-${{ github.sha }} so Notis can match them to issues'. Or list them in your automation prompt.

What if I want to preserve some caches?

Your automation can be selective: 'only clear caches for completed issues, but always keep the npm-dependencies cache'.

Does this affect active builds?

No, clearing a cache doesn't stop running builds. It only affects future CI runs.

Can I clear caches on a schedule instead of per-issue?

Yes. Create a cron automation: 'Every Friday evening, clear all GitHub caches over 1 week old' and use both alongside each other.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Linear to GitHub. A trigger fires from one place; an action lands in another.

Linear logo

Linear triggers

GitHub logo

GitHub actions

Comment Received Trigger

Triggered when a comment is received.

TriggerInstant

Accept a repository invitation

Accepts a pending repository invitation that has been issued to the authenticated user.

ActionInstant

Issue Created Trigger

Triggered when a new issue is created.

TriggerInstant

List repositories starred by the authenticated user

Deprecated: lists repositories starred by the authenticated user, including star creation timestamps; use 'list repositories starred by the authenticated user' instead.

ActionInstant

Issue Updated Trigger

Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.

TriggerInstant

List stargazers

Deprecated: lists users who have starred a repository; use `list stargazers` instead.

ActionInstant

Private Team Comment Created

Fires when a new comment is posted on an issue in a private Linear team (polled with the connected user's token).

TriggerPolling

Star a repository for the authenticated user

Deprecated: stars a repository for the authenticated user; use `star a repository for the authenticated user` instead.

ActionInstant

Private Team Issue Created

Fires when a new issue appears in a private Linear team (polled with the connected user's token).

TriggerPolling

Add email for auth user

Adds one or more email addresses (which will be initially unverified) to the authenticated user's github account; use this to associate new emails, noting an email verified for another account will error, while an existing email for the current user is accepted.

ActionInstant

Private Team Issue Properties Updated

Fires when properties on an issue change in a private Linear team (polled with the connected user's token).

TriggerPolling

Add app access restrictions

Replaces github app access restrictions for an existing protected branch; requires a json array of app slugs in the request body, where apps must be installed and have 'contents' write permissions.

ActionInstant

Project Created

Fires when a new Linear project is created. Covers projects in both public and private teams — polls with the connected user's token, so visibility matches what the connected user can see in Linear.

TriggerPolling

Add a repository collaborator

Adds a github user as a repository collaborator, or updates their permission if already a collaborator; `permission` applies to organization-owned repositories (personal ones default to 'push' and ignore this field), and an invitation may be created or permissions updated directly.

ActionInstant

Project Properties Updated

Fires when properties on a Linear project change (status, lead, target date, priority, etc.). Covers projects in both public and private teams — polls with the connected user's token.

TriggerPolling

Add a repository to an app installation

Adds a repository to a github app installation, granting the app access; requires authenticated user to have admin rights for the repository and access to the installation.

ActionInstant

Connect any two apps with Notis in the middle.

Not just Linear and GitHub. Any combination from 985+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7 days free trial with 20$ free usage included.
No card. Works with personal or business GitHub.