commit - 9da5762c1d4d33ded214eacd8c1c26a2bdc84531
commit + bf7c75466817062e9bb62b47d98d1647959f24fe
blob - /dev/null
blob + 36f2e4f409eb71f66d40d5c01aabe6c2b9dc7f42 (mode 644)
--- /dev/null
+++ .github/workflows/check.yaml
+name: Static analysis
+
+on:
+ push:
+ pull_request:
+
+jobs:
+ static-analysis:
+ if: |
+ github.event_name == 'push' ||
+ github.event_name == 'pull_request' &&
+ github.event.pull_request.head.repo.full_name != github.repository
+
+ runs-on: ubuntu-22.04
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Setup luarocks
+ run: sudo apt install -y luarocks
+
+ - run: echo $(luarocks path --lr-bin) >> $GITHUB_PATH
+
+ - name: Setup luacheck
+ run: luarocks --local install luacheck
+
+ - name: Run static analysis
+ run: luacheck .
blob - /dev/null
blob + c4c24b9e43167a26e32a52c15033e8c7a241146e (mode 644)
--- /dev/null
+++ .github/workflows/publish.yaml
+name: Publish
+
+on:
+ push:
+ branches: [master]
+ tags: ['*']
+
+jobs:
+ publish-scm-1:
+ if: github.ref == 'refs/heads/master'
+ runs-on: ubuntu-22.04
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Setup luarocks
+ run: sudo apt install -y luarocks
+
+ - name: Setup cjson (required for upload)
+ run: luarocks install --local lua-cjson
+
+ - name: Upload rockspec scm-1
+ run: luarocks upload --force --api-key=${{ secrets.LUAROCKS_API_KEY }} afl-lua-scm-1.rockspec
+
+ publish-tag:
+ if: startsWith(github.ref, 'refs/tags/')
+ runs-on: ubuntu-22.04
+ steps:
+ # https://github.com/luarocks/luarocks/wiki/Types-of-rocks
+ - uses: actions/checkout@v3
+
+ - name: Setup luarocks
+ run: sudo apt install -y luarocks
+
+ # Make a release.
+ - run: |
+ echo TAG=${GITHUB_REF##*/} >> $GITHUB_ENV
+ luarocks new_version --tag ${{ env.TAG }}
+ luarocks install afl-lua-${{ env.TAG }}-1.rockspec
+ luarocks pack afl-lua-${{ env.TAG }}-1.rockspec
+
+ - name: Upload .rockspec and .src.rock ${{ env.TAG }}
+ run: |
+ luarocks upload --api-key=${{ secrets.LUAROCKS_API_KEY }} afl-lua-${{ env.TAG }}-1.rockspec
+ luarocks upload --api-key=${{ secrets.LUAROCKS_API_KEY }} afl-lua-${{ env.TAG }}-1.src.rock
blob - /dev/null
blob + 5e93cc234f54824cea302a71b7529cbec95893bc (mode 644)
--- /dev/null
+++ .github/workflows/test.yaml
+name: Testing
+
+on:
+ push:
+ pull_request:
+
+jobs:
+ testing:
+ if: |
+ github.event_name == 'push' ||
+ github.event_name == 'pull_request' &&
+ github.event.pull_request.head.repo.full_name != github.repository
+ strategy:
+ matrix:
+ LIBLUA:
+ - "5.4"
+ - "5.3"
+ - "5.2"
+ - "5.1"
+ fail-fast: false
+ runs-on: ubuntu-22.04
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Setup packages (${{ matrix.LIBLUA }}
+ run: sudo apt install -y lua5.1 liblua5.1-0-dev
+ if: ${{ matrix.LIBLUA == '5.1' }}
+
+ - name: Setup packages (${{ matrix.LIBLUA }}
+ run: sudo apt install -y lua5.2 liblua5.2-dev
+ if: ${{ matrix.LIBLUA == '5.2' }}
+
+ - name: Setup packages (${{ matrix.LIBLUA }}
+ run: sudo apt install -y lua5.3 liblua5.3-dev
+ if: ${{ matrix.LIBLUA == '5.3' }}
+
+ - name: Setup packages (${{ matrix.LIBLUA }}
+ run: sudo apt install -y lua5.4 liblua5.4-dev
+ if: ${{ matrix.LIBLUA == '5.4' }}
+
+ - name: Running CMake
+ run: cmake -S . -B build
+
+ - name: Building
+ run: cmake --build build --parallel $(nproc)