feat: Support running CI locally with `act`

Disable problematic jobs that involve Github Actions caching or `cross`
whenever the environment is set to ACT. This allows running the CI
pipeline locally and hopefully speeds up PR cycle times by reducing
unexpected CI pipeline results.
This commit is contained in:
Andrew Ahlers 2022-02-17 00:15:42 +01:00
parent 0c5b695194
commit 006193f5b6
5 changed files with 17 additions and 1 deletions

1
.actrc Normal file
View File

@ -0,0 +1 @@
-e contrib/act/event.json

View File

@ -5,6 +5,7 @@ on: [push, pull_request]
jobs:
fuzz:
if: ${{ !github.event.act }}
runs-on: ubuntu-20.04
env:
HFUZZ_BUILD_ARGS: "--features honggfuzz_fuzz"
@ -41,6 +42,7 @@ jobs:
path: executed_${{ matrix.fuzz_target }}
verify-execution:
if: ${{ !github.event.act }}
needs: fuzz
runs-on: ubuntu-latest
steps:

View File

@ -64,6 +64,7 @@ jobs:
Cross:
name: Cross testing
if: ${{ !github.event.act }}
runs-on: ubuntu-latest
steps:
- name: Checkout Crate
@ -101,7 +102,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
run: sudo apt update && sudo apt install qemu-system-arm gcc-arm-none-eabi
run: sudo apt update && sudo apt install -y qemu-system-arm gcc-arm-none-eabi
- name: Checkout Toolchain
uses: actions-rs/toolchain@v1
with:

View File

@ -114,6 +114,15 @@ Please try to address them, otherwise your PR might get closed without merging
after a longer time of inactivity. If your PR isn't ready for review yet please
mark it by prefixing the title with `WIP: `.
### CI Pipeline
The CI pipeline requires approval before being run on each MR.
In order to speed up the review process the CI pipeline can be run locally using
[act](https://github.com/nektos/act). The `fuzz` and `Cross` jobs will be
skipped when using `act` due to caching being unsupported at this time. We do
not *actively* support `act` but will merge PRs fixing `act` issues.
## Policy on Altcoins/Altchains
Patches which add support for non-Bitcoin cryptocurrencies by adding constants

3
contrib/act/event.json Normal file
View File

@ -0,0 +1,3 @@
{
"act": true
}