Browse Source

ci: Split dist checks from CI run, upgrade outdated actions

master
Yury Popov 2 years ago
parent
commit
391a7191ad
No account linked to committer's email address
3 changed files with 76 additions and 63 deletions
  1. 2
    59
      .github/workflows/ci.yml
  2. 70
    0
      .github/workflows/dist.yml
  3. 4
    4
      .github/workflows/fuzzing.yml

+ 2
- 59
.github/workflows/ci.yml View File

sanitizer: valgrind sanitizer: valgrind


steps: steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: enable 32bit architecture - name: enable 32bit architecture
run: sudo dpkg --add-architecture i386 run: sudo dpkg --add-architecture i386
if: matrix.arch == 'x86-32' if: matrix.arch == 'x86-32'
./configure ${{ matrix.config }} ./configure ${{ matrix.config }}
- name: Store the config - name: Store the config
if: ${{ failure() }} && matrix.arch != 'arm-32' && matrix.arch != 'armel-32' && matrix.arch != 'arm-64' if: ${{ failure() }} && matrix.arch != 'arm-32' && matrix.arch != 'armel-32' && matrix.arch != 'arm-64'
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with: with:
name: config-${{ matrix.arch }}-${{ matrix.sanitizer }}.log name: config-${{ matrix.arch }}-${{ matrix.sanitizer }}.log
path: config.log path: config.log
CFLAGS="${{ matrix.configflags }} ${{ matrix.archconfigflags }}" CXXFLAGS="${{ matrix.configflags }} ${{ matrix.archconfigflags }}" ./configure ${{ matrix.config }} CFLAGS="${{ matrix.configflags }} ${{ matrix.archconfigflags }}" CXXFLAGS="${{ matrix.configflags }} ${{ matrix.archconfigflags }}" ./configure ${{ matrix.config }}
${{ matrix.build_env }} make ${{ matrix.build_env }} make
${{ matrix.check_env }} make check ${{ matrix.check_env }} make check

reprotest:

runs-on: ubuntu-latest
name: Build with reprotest on ${{ matrix.arch }}
strategy:
fail-fast: false
matrix:
arch: [x86-64, x86-32]

include:
- arch: x86-32
archdeps: "gcc-multilib g++-multilib libpcaudio-dev:i386 libsonic-dev:i386 libc6-dbg:i386"
archconfigflags: "-m32"

- arch: x86-64
archdeps: ""
archconfigflags: ''

steps:
- uses: actions/checkout@v2
- name: enable 32bit architecture
run: sudo dpkg --add-architecture i386
if: matrix.arch == 'x86-32'
- name: dependencies
run: sudo apt-get update && sudo apt-get install ${{ env.deps }} reprotest ${{ matrix.archdeps }}
- name: autoconf
run: ./autogen.sh ; chmod -x INSTALL m4/*.m4
- name: run
run: reprotest 'CFLAGS="${{ matrix.archconfigflags }}" CXXFLAGS="${{ matrix.archconfigflags }}" ./configure --without-gradle && make clean && make && make check && touch success' success

distcheck:

runs-on: ubuntu-latest
name: Run distcheck
steps:
- uses: actions/checkout@v2
- name: dependencies
run: sudo apt-get update && sudo apt-get install ${{ env.deps }}
- name: autoconf
run: ./autogen.sh ; chmod -x INSTALL m4/*.m4
- name: configure
run: ./configure
- name: make
run: make
- name: make check
run: make check
- name: make dist
run: make dist
- name: unpack
run: mkdir unpack && tar -C unpack -xf *.tar.gz
- name: re-configure
run: cd unpack/espeak-ng-* && ./configure
- name: re-make
run: cd unpack/espeak-ng-* && make
- name: re-make check
run: cd unpack/espeak-ng-* && make check

+ 70
- 0
.github/workflows/dist.yml View File

name: Dist

on:
workflow_dispatch:
push:
branches: [ master ]
pull_request:
branches: [ master ]

env:
deps: libpcaudio-dev libsonic-dev ronn kramdown python3

jobs:

reprotest:

runs-on: ubuntu-latest
name: Build with reprotest on ${{ matrix.arch }}
strategy:
fail-fast: false
matrix:
arch: [x86-64, x86-32]

include:
- arch: x86-32
archdeps: "gcc-multilib g++-multilib libpcaudio-dev:i386 libsonic-dev:i386 libc6-dbg:i386"
archconfigflags: "-m32"

- arch: x86-64
archdeps: ""
archconfigflags: ''

steps:
- uses: actions/checkout@v3
- name: enable 32bit architecture
run: sudo dpkg --add-architecture i386
if: matrix.arch == 'x86-32'
- name: dependencies
run: sudo apt-get update && sudo apt-get install ${{ env.deps }} reprotest ${{ matrix.archdeps }}
- name: autoconf
run: ./autogen.sh ; chmod -x INSTALL m4/*.m4
- name: run
run: reprotest 'CFLAGS="${{ matrix.archconfigflags }}" CXXFLAGS="${{ matrix.archconfigflags }}" ./configure --without-gradle && make clean && make && make check && touch success' success

distcheck:

runs-on: ubuntu-latest
name: Run distcheck
steps:
- uses: actions/checkout@v3
- name: dependencies
run: sudo apt-get update && sudo apt-get install ${{ env.deps }}
- name: autoconf
run: ./autogen.sh ; chmod -x INSTALL m4/*.m4
- name: configure
run: ./configure
- name: make
run: make
- name: make check
run: make check
- name: make dist
run: make dist
- name: unpack
run: mkdir unpack && tar -C unpack -xf *.tar.gz
- name: re-configure
run: cd unpack/espeak-ng-* && ./configure
- name: re-make
run: cd unpack/espeak-ng-* && make
- name: re-make check
run: cd unpack/espeak-ng-* && make check

+ 4
- 4
.github/workflows/fuzzing.yml View File

archdeps: "" archdeps: ""
archconfigflags: '' archconfigflags: ''
steps: steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: enable 32bit architecture - name: enable 32bit architecture
run: sudo dpkg --add-architecture i386 run: sudo dpkg --add-architecture i386
if: matrix.arch == 'x86-32' if: matrix.arch == 'x86-32'
./configure --with-libfuzzer ./configure --with-libfuzzer
- name: Store the fuzzer config - name: Store the fuzzer config
if: ${{ failure() }} if: ${{ failure() }}
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with: with:
name: config-${{ matrix.arch }}-${{ matrix.lang }}.log name: config-${{ matrix.arch }}-${{ matrix.lang }}.log
path: config.log path: config.log
run: mkdir tests/fuzzing/CORPUS_DIR ; FUZZ_VOICE=${{ matrix.lang }} tests/fuzzing/synth_fuzzer.test -seed=1 -runs=10000 -max_len=4096 tests/fuzzing/CORPUS_DIR run: mkdir tests/fuzzing/CORPUS_DIR ; FUZZ_VOICE=${{ matrix.lang }} tests/fuzzing/synth_fuzzer.test -seed=1 -runs=10000 -max_len=4096 tests/fuzzing/CORPUS_DIR
- name: Store the crash POC - name: Store the crash POC
if: ${{ failure() }} if: ${{ failure() }}
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with: with:
name: crash-${{ matrix.arch }}-${{ matrix.lang }}.1 name: crash-${{ matrix.arch }}-${{ matrix.lang }}.1
path: crash-* timeout-* path: crash-* timeout-*
run: cp dictsource/${{ matrix.lang }}_* tests/fuzzing/CORPUS_DIR/ || true ; FUZZ_VOICE=${{ matrix.lang }} tests/fuzzing/synth_fuzzer.test -seed=1 -runs=10000 -max_len=4096 tests/fuzzing/CORPUS_DIR run: cp dictsource/${{ matrix.lang }}_* tests/fuzzing/CORPUS_DIR/ || true ; FUZZ_VOICE=${{ matrix.lang }} tests/fuzzing/synth_fuzzer.test -seed=1 -runs=10000 -max_len=4096 tests/fuzzing/CORPUS_DIR
- name: Store the crash POC - name: Store the crash POC
if: ${{ failure() }} if: ${{ failure() }}
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with: with:
name: crash-${{ matrix.arch }}-${{ matrix.lang }}.2 name: crash-${{ matrix.arch }}-${{ matrix.lang }}.2
path: crash-* timeout-* path: crash-* timeout-*

Loading…
Cancel
Save