Skip to content

Regex Engine CI

Regex Engine CI #6133

Workflow file for this run

name: Regex Engine CI
on:
push:
paths:
- 'src/regex.cr'
- 'src/regex/**'
- 'spec/std/regex_spec.cr'
- 'spec/std/regex/**'
- '.github/workflows/regex-engine.yml'
pull_request:
paths:
- 'src/regex.cr'
- 'src/regex/**'
- 'spec/std/regex_spec.cr'
- 'spec/std/regex/**'
- '.github/workflows/regex-engine.yml'
schedule:
- cron: '0 3 * * *'
workflow_dispatch:
permissions: {}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
jobs:
pcre:
runs-on: ubuntu-latest
name: "PCRE"
container: crystallang/crystal:1.15.1-alpine
steps:
- name: Download Crystal source
uses: actions/checkout@v4
- name: Remove PCRE2
run: apk del pcre2-dev
- name: Assert using PCRE
run: bin/crystal eval 'abort unless Regex::Engine == Regex::PCRE'
- name: Show PCRE config
run: bin/crystal scripts/print_regex_config.cr
- name: Run Regex specs
run: bin/crystal spec --order=random spec/std/regex*
pcre2:
runs-on: ubuntu-latest
name: "PCRE2"
container: crystallang/crystal:1.15.1-alpine
steps:
- name: Download Crystal source
uses: actions/checkout@v4
- name: Assert using PCRE2
run: bin/crystal eval 'abort unless Regex::Engine == Regex::PCRE2'
- name: Assert select PCRE
run: bin/crystal eval -Duse_pcre 'abort unless Regex::Engine == Regex::PCRE'
- name: Show PCRE2 config
run: bin/crystal scripts/print_regex_config.cr
- name: Run Regex specs
run: bin/crystal spec --order=random spec/std/regex*