From 226e819371eec0f298d9075198394a07b23ecfa9 Mon Sep 17 00:00:00 2001 From: Pierrick Hymbert Date: Mon, 1 Apr 2024 12:36:40 +0200 Subject: [PATCH] ci: server: verify deps are coherent with the commit (#6409) * ci: server: verify deps are coherent with the commit * ci: server: change the ref to build as now it's a pull event target --- .github/workflows/server.yml | 44 ++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/.github/workflows/server.yml b/.github/workflows/server.yml index f07d25536..d3e153d10 100644 --- a/.github/workflows/server.yml +++ b/.github/workflows/server.yml @@ -4,6 +4,10 @@ name: Server on: workflow_dispatch: # allows manual triggering inputs: + sha: + description: 'Commit SHA1 to build' + required: false + type: string slow_tests: description: 'Run slow tests' required: true @@ -11,12 +15,12 @@ on: push: branches: - master - paths: ['.github/workflows/server.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.swift', '**/*.m', 'examples/server/tests/**.*'] - pull_request: + paths: ['.github/workflows/server.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.swift', '**/*.m', 'examples/server/**.*'] + pull_request_target: types: [opened, synchronize, reopened] - paths: ['.github/workflows/server.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.swift', '**/*.m', 'examples/server/tests/**.*'] + paths: ['.github/workflows/server.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.swift', '**/*.m', 'examples/server/**.*'] schedule: - - cron: '0 0 * * *' + - cron: '2 4 * * *' concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -44,25 +48,45 @@ jobs: options: --cpus 4 steps: - - name: Clone - id: checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Dependencies id: depends run: | apt-get update apt-get -y install \ build-essential \ + xxd \ git \ cmake \ python3-pip \ + curl \ wget \ language-pack-en \ libcurl4-openssl-dev + - name: Clone + id: checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + ref: ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }} + + - name: Verify server deps + id: verify_server_deps + run: | + git config --global --add safe.directory $(realpath .) + cd examples/server + git ls-files --others --modified + git status + ./deps.sh + git status + not_ignored_files="$(git ls-files --others --modified)" + echo "Modified files: ${not_ignored_files}" + if [ -n "${not_ignored_files}" ]; then + echo "Repository is dirty or server deps are not built as expected" + echo "${not_ignored_files}" + exit 1 + fi + - name: Build id: cmake_build run: |