mirror of
https://github.com/mesonbuild/meson.git
synced 2026-11-06 05:16:42 +00:00
Add stable regression test
This tests stable maintenance branches, to ensure that build directories created with older versions of Meson continue to work without wiping, after updating to a bugfix release.
This commit is contained in:
7 files changed
+72
No files matched your search
@@ -0,0 +1,35 @@
|
||||
name: stable build directories
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- '[0-9]+.[0-9]+'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
regression:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
TESTDIR: "manual tests/13 builddir upgrade"
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: install ninja
|
||||
run: sudo apt-get -y install build-essential ninja-build
|
||||
- name: Fetch tags and unshallow
|
||||
run: git fetch --unshallow --tags
|
||||
- name: Checkout latest release on this branch
|
||||
run: |
|
||||
cp -r "$TESTDIR" "$TESTDIR"-temp
|
||||
git checkout "$(git describe --abbrev=0)"
|
||||
- name: Configure with most recent tag
|
||||
run: ./meson.py setup "$TESTDIR"-temp builddir
|
||||
- name: Return to testing commit
|
||||
run: git checkout $GITHUB_SHA
|
||||
- name: check that everything still works
|
||||
run: |
|
||||
./meson.py compile -C builddir
|
||||
ninja -C builddir test
|
||||
DESTDIR=pkg ninja -C builddir install
|
||||
./meson.py introspect builddir --all
|
||||
Whitespace-only changes.
Whitespace-only changes.
@@ -0,0 +1,6 @@
|
||||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
printf("Hello world!\n");
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
#if defined _WIN32 || defined __CYGWIN__
|
||||
#define DLL_PUBLIC __declspec(dllexport)
|
||||
#else
|
||||
#define DLL_PUBLIC
|
||||
#endif
|
||||
|
||||
int DLL_PUBLIC foo(void) {
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
project('check old builddirs in a stable release', 'c')
|
||||
|
||||
lib = both_libraries('lib', 'lib.c')
|
||||
exe = executable('foo', 'foo.c', link_with: lib, install: true)
|
||||
test('exe', exe)
|
||||
|
||||
install_data('data/foo.dat', install_dir: get_option('datadir') / 'foo')
|
||||
install_man('foo.1')
|
||||
|
||||
py = import('python').find_installation()
|
||||
py.install_sources('mod.py', subdir: 'foo')
|
||||
install_subdir('data', install_dir: py.get_install_dir())
|
||||
|
||||
custom_target(
|
||||
input: 'mod.py',
|
||||
output: 'hello.dat',
|
||||
command: [py, '@INPUT@'],
|
||||
capture: true,
|
||||
install: true,
|
||||
install_dir: get_option('localstatedir') / 'foo',
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
print('Hello world!')
|
||||
Reference in new issue
Block a user