add new CI job that does a test-release
This also re-defines that `make release` does the release of all tarballs and will run the tests against them. Latest LibreSSL test is also marked non-essential, as it tends to fail from time to time ... Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
This commit is contained in:
39
.github/workflows/main.yml
vendored
39
.github/workflows/main.yml
vendored
@@ -9,17 +9,16 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
linux-tests:
|
linux-tests:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
configure_options:
|
configure_options:
|
||||||
|
- ""
|
||||||
- "--without-libxml2"
|
- "--without-libxml2"
|
||||||
- "--with-libxml2"
|
- "--with-libxml2"
|
||||||
- "--with-gnutls"
|
- "--with-gnutls"
|
||||||
- "--disable-tls"
|
- "--disable-tls"
|
||||||
- "--enable-cares"
|
- "--enable-cares"
|
||||||
- "--disable-getrandom"
|
- "--disable-getrandom"
|
||||||
|
|
||||||
name: Regular Tests
|
name: Regular Tests
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@@ -38,35 +37,55 @@ jobs:
|
|||||||
|
|
||||||
libressl-tests:
|
libressl-tests:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
libressl_versions:
|
libressl_versions:
|
||||||
- "v3.4.2"
|
- { version: "v3.4.2", continue: true }
|
||||||
- "v3.1.5"
|
- { version: "v3.1.5", continue: false }
|
||||||
- "v2.1.10"
|
- { version: "v2.1.10", continue: false }
|
||||||
|
|
||||||
name: LibreSSL tests
|
name: LibreSSL tests
|
||||||
|
continue-on-error: ${{ matrix.libressl_versions.continue }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: install dependencies
|
- name: install dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install -y libtool pkg-config libexpat1-dev libxml2-dev libssl-dev libgnutls28-dev libc-ares-dev
|
sudo apt install -y libtool pkg-config libexpat1-dev
|
||||||
- name: build&install libressl
|
- name: build&install libressl
|
||||||
env:
|
env:
|
||||||
LIBRESSL_COMMIT: ${{ matrix.libressl_versions }}
|
LIBRESSL_COMMIT: ${{ matrix.libressl_versions.version }}
|
||||||
run: |
|
run: |
|
||||||
./travis/before_script.sh
|
./travis/before_script.sh
|
||||||
- name: Build the library
|
- name: Build the library
|
||||||
run: |
|
run: |
|
||||||
./bootstrap.sh
|
./bootstrap.sh
|
||||||
./configure PKG_CONFIG_PATH="${HOME}/libressl/lib/pkgconfig" CFLAGS="-Werror -g3"
|
./configure PKG_CONFIG_PATH="${HOME}/libressl/lib/pkgconfig" CFLAGS="-Werror -g3" --prefix="${HOME}/libressl"
|
||||||
make -j5
|
make -j5
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: |
|
run: |
|
||||||
make check
|
make check
|
||||||
|
|
||||||
|
release-test:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
name: Check if release would work
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: install dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install -y libtool pkg-config libexpat1-dev
|
||||||
|
- name: Setup the library
|
||||||
|
run: |
|
||||||
|
./bootstrap.sh
|
||||||
|
./configure
|
||||||
|
- name: Try release & tests
|
||||||
|
run: |
|
||||||
|
make test-release
|
||||||
|
- name: Show logs from release build
|
||||||
|
if: ${{ !failure() }}
|
||||||
|
run: |
|
||||||
|
cat testbuild.log
|
||||||
|
|
||||||
code-style:
|
code-style:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
name: Check coding style
|
name: Check coding style
|
||||||
|
|||||||
11
Makefile.am
11
Makefile.am
@@ -273,13 +273,20 @@ coverage: check
|
|||||||
@genhtml coverage.info --output-directory coverage -q
|
@genhtml coverage.info --output-directory coverage -q
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
release: test-release-all
|
||||||
|
|
||||||
release:
|
dist-archives:
|
||||||
$(MAKE) dist
|
$(MAKE) dist
|
||||||
$(MAKE) dist-bzip2
|
$(MAKE) dist-bzip2
|
||||||
$(MAKE) dist-xz
|
$(MAKE) dist-xz
|
||||||
|
|
||||||
test-release: release
|
test-release: dist
|
||||||
|
@touch testbuild-$(PACKAGE_VERSION).log && ln -sf testbuild-$(PACKAGE_VERSION).log testbuild.log
|
||||||
|
@mkdir -p test-release && cp $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.* test-release && pushd test-release && \
|
||||||
|
tar xzf $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz && pushd $(PACKAGE_TARNAME)-$(PACKAGE_VERSION) && ./testbuild.sh && popd && rm -rf $(PACKAGE_TARNAME)-$(PACKAGE_VERSION) && \
|
||||||
|
echo "Success" && popd
|
||||||
|
|
||||||
|
test-release-all: dist-archives
|
||||||
@touch testbuild-$(PACKAGE_VERSION).log && ln -sf testbuild-$(PACKAGE_VERSION).log testbuild.log
|
@touch testbuild-$(PACKAGE_VERSION).log && ln -sf testbuild-$(PACKAGE_VERSION).log testbuild.log
|
||||||
@mkdir -p test-release && cp $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.* test-release && pushd test-release && \
|
@mkdir -p test-release && cp $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.* test-release && pushd test-release && \
|
||||||
tar xJf $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.xz && pushd $(PACKAGE_TARNAME)-$(PACKAGE_VERSION) && ./testbuild.sh && popd && rm -rf $(PACKAGE_TARNAME)-$(PACKAGE_VERSION) && \
|
tar xJf $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.xz && pushd $(PACKAGE_TARNAME)-$(PACKAGE_VERSION) && ./testbuild.sh && popd && rm -rf $(PACKAGE_TARNAME)-$(PACKAGE_VERSION) && \
|
||||||
|
|||||||
Reference in New Issue
Block a user