Skip to content

Nightly Coraza Check #401

Nightly Coraza Check

Nightly Coraza Check #401

name: Nightly Coraza Check
on:
pull_request:
paths:
- ".github/workflows/nightly-coraza-check.yaml"
- ".github/workflows/ci.yaml"
schedule:
- cron: "0 4 * * *"
env:
GO_VERSION: 1.19
TINYGO_VERSION: 0.28.1
jobs:
test:
name: "Test (multiphase evaluation: ${{ matrix.multiphase_eval }})"
runs-on: ubuntu-22.04
strategy:
matrix:
multiphase_eval: ["true","false"]
env:
MULTIPHASE_EVAL: ${{ matrix.multiphase_eval }}
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: ${{ env.GO_VERSION }}
cache: true
- name: Install TinyGo
run: |
gh release download v${TINYGO_VERSION} -p '*.linux-amd64.tar.gz' -D ~ -R github.com/tinygo-org/tinygo
tar -xf ~/tinygo${TINYGO_VERSION}.linux-amd64.tar.gz -C $HOME
echo "$HOME/tinygo/bin" >> $GITHUB_PATH
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Cache TinyGo build
uses: actions/cache@v3
with:
path: |
~/.cache/tinygo
key: ${{ runner.os }}-tinygo-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-tinygo-
- name: Get last commit of coraza
id: coraza-latest-commit
run: echo "value=$(gh api repos/corazawaf/coraza/commits/main -q .sha)" >> $GITHUB_OUTPUT
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Fetch last coraza version
run: go get -u github.com/corazawaf/coraza/v3@${{ steps.coraza-latest-commit.outputs.value }} && go mod tidy
- name: Build WASM filter
run: go run mage.go build
- name: Run unit tests
run: go run mage.go coverage
- name: Run e2e tests
run: go run mage.go e2e