From feaf9a13f4f856820fc49bb6100b5cf4b12fa9da Mon Sep 17 00:00:00 2001 From: Mirko Covizzi Date: Mon, 26 Aug 2024 15:07:45 +0200 Subject: [PATCH] workflows: add check for generated AT Parser Adds check for generated AT Parser lexer to determine if it's up to date according to the regex source. Signed-off-by: Mirko Covizzi --- .../workflows/check-generated-at-parser.yml | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .github/workflows/check-generated-at-parser.yml diff --git a/.github/workflows/check-generated-at-parser.yml b/.github/workflows/check-generated-at-parser.yml new file mode 100644 index 000000000000..2f1410e3f23f --- /dev/null +++ b/.github/workflows/check-generated-at-parser.yml @@ -0,0 +1,42 @@ +name: Check Generated AT Parser + +on: + pull_request: + paths: + - 'lib/at_parser/at_match.re' + +jobs: + compliance_job: + runs-on: ubuntu-latest + name: Check Generated AT Parser + steps: + - name: Update PATH for west + run: | + echo "$HOME/.local/bin" >> $GITHUB_PATH + + - name: Checkout sources + uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + path: ncs/nrf + fetch-depth: 0 + persist-credentials: false + + - name: Install dependencies + run: | + sudo apt-get install re2c=3.0-1 + + - name: Generate lexer + working-directory: ncs/nrf/lib/at_parser + run: | + re2c at_match.re -o at_match.c -W --tags --no-debug-info --no-generation-date --no-version + + - name: Compare lexers + working-directory: ncs/nrf/lib/at_parser + run: | + if diff -q at_match.c generated/at_match.c > /dev/null; then + echo "Lexer is up to date." + else + echo "Lexer is not up to date. Please re-generate the lexer and update the PR." + exit 1 + fi