Skip to content

Modernize project

Modernize project #56

Workflow file for this run

name: Test and upload Python package
on:
pull_request:
push:
branches: [master]
tags:
- 'v*'
- '!v*-dev'
env:
ZEEKROOT: /usr/local/zeek
jobs:
test:
strategy:
fail-fast: false
matrix:
# Test Zeek LTS, latest, and nightly, and
# don't fail for the nightly one.
include:
- repo: zeek
version: latest
continue_on_error: false
- repo: zeek
version: lts
continue_on_error: false
- repo: zeek-dev
version: latest
continue_on_error: true
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.continue_on_error }}
container:
image: zeek/${{ matrix.repo }}:${{ matrix.version }}
steps:
- name: Install build environment
run: |
apt-get update
apt-get install -y --no-install-recommends cmake g++ libssl-dev libpcap-dev make
- name: Remove zkg installation
# Rule out confusion between test environment and pre-existing zkg:
run: |
rm $ZEEKROOT/bin/zkg $ZEEKROOT/share/man/man1/zkg.1
rm -r $ZEEKROOT/etc/zkg
rm -r $ZEEKROOT/lib/zeek/python/zeekpkg
rm -r $ZEEKROOT/var/lib/zkg
- uses: actions/checkout@v4
- name: Run unit tests
run: btest -j -A -d -c testing/btest.cfg
- uses: actions/upload-artifact@v4
if: failure()
with:
name: btest-${{ matrix.repo }}-${{ matrix.version }}
path: testing/.tmp/
upload:
runs-on: ubuntu-latest
needs: [test]
if: github.repository == 'zeek/package-manager' && github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/checkout@v4
- name: Check release version
# This fails e.g. if VERSION contains a dev commits suffix,
# since we don't want to push these to PyPI. Accepts two-
# and three-component version numbers (e.g. 1.0 and 1.0.1).
run: |
grep -E -x '[0-9]+\.[0-9]+(\.[0-9]+)?' VERSION
- name: Build wheel
run: |
make dist
- name: Upload to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}