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.pull/10884/head
parent
c20fb659f6
commit
72e0a95f7f
7 changed files with 72 additions and 0 deletions
@ -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 |
@ -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!') |
Loading…
Reference in new issue