FAQs

Getting help

Actionsflow is under active development. If you need help, would like to contribute, or simply want to talk about the project with like-minded individuals, we have a number of open channels for communication.

FAQs

1. How Actionsflow deduplicate data?

The Actionsflow's smart deduplication can help you to skip the data which has seen, the deduplicated job is handled by Actionsflow, not by the trigger. If a trigger's data need to deduplicate, then it will provide a getItemKey method, Actionsflow will cache the deduplication keys to Github Actions cache, then, next time Actionsflow get the same data, it will skip that. For example, rss use guid or link as the deduplication key.

2. How do I set a scheduled/cron event?

To set a cron event on Actionsflow, see on.<trigger>.config.every.

3. How do I debug trigger outputs?

For example, if you want to debug the RSS trigger outputs, you can use the toJSON function provided by Github like this:

on:
rss:
url: https://hnrss.org/newest?points=300
jobs:
print:
name: Print
runs-on: ubuntu-latest
steps:
- name: Print Outputs
env:
outputs: ${{ toJSON(on.rss.outputs) }}
run: |
echo outputs: $outputs

4. How do I debug?

If you want to debug a specific trigger, you can pass debug: true to the trigger.

If some errors occur, maybe you want to debug the issues. To enable Github Actions step debug logging, you must set the following secret in the repository that contains the workflow: ACTIONS_STEP_DEBUG to true. If so, Actionsflow will set logLevel: debug, so you can debug the details. For more about debugging please see Enabling debug logging.

5. How do I clean the cache?

For some reason, you may want to delete the Actionsflow's cache. You can do this by manually running this workflow in your repository's Actions tab.

6. How do I run a single workflow?

When you have multiple workflow files, you may want to disable some of them. To do that you can set on.<trigger>.config.active to false, or you can use the --include or --exclude CLI arguments. Here's an --include example: npm run build -- -i rss.yml, or glob npm run build -- -i "rss*".

7. argument list too long Error

You may see this error OCI runtime exec failed: exec failed: container_linux.go:370: starting container process caused: argument list too long: unknown when running act. This is because your built workflow file is too large for act to handle. There are several ways you can do:

  1. Reducing your outputs using on.<trigger>.config.filterOutputs. For example:
on:
rss:
url:
- https://hnrss.org/newest?points=500
- https://hnrss.org/show?points=100
config:
filterOutputs:
title: 1
link: 1

With this configuration, only title and link will be sent to the output workflow.

  1. Reducing your outputs using on.<trigger>.config.format. For example:
on:
rss:
url:
- https://hnrss.org/newest?points=500
- https://hnrss.org/show?points=100
config:
format: |
return {
title: item.title,
link: item.link
}

With this configuration, only title and link will be sent to the output workflow.

  1. Export outputs to file by using on.<trigger>.config.exportOutputs. For example:

Note, you should use --bind for run act, then you can access the outputs files at act workspace. Change .github/workflows/actionsflow.yml, act step, add --bind param. For local, change your start script to actionsflow start -- --bind

on:
rss:
url: https://hnrss.org/newest?points=300
config:
outputsMode: combine
exportOutputs: true
jobs:
outputs:
name: outputs
runs-on: ubuntu-latest
steps:
- name: Get outputs
uses: actions/github-script@v2
env:
OUTPUTS_PATH: ${{ on.rss.outputs.path }}
with:
script: |
const fs = require('fs');
const outputs = require(`${process.env.GITHUB_WORKSPACE}/${process.env.OUTPUTS_PATH}`)
console.log('outputs',outputs)
return true

8. Cancel or disable workflow

If you want to disable the whole workflows, you can simply delete the repository, or comment the schedule event at .github/workflows/actionsflow.yml, or you can also delete file `.github/workflows/actionsflow.yml

9. Self-hosted Actionsflow?

Yes, Since Actionsflow v1.6.0, Actionsflow can be deployed as a self-hosted application. You can run Actionsflow by Docker or manually. Learn more about self-hosted Actionsflow.