ci(commitlint): addition of commit message linter (#33) #4
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This file is part of REANA. | |
# Copyright (C) 2020, 2021, 2024 CERN. | |
# | |
# REANA is free software; you can redistribute it and/or modify it | |
# under the terms of the MIT License; see LICENSE file for more details. | |
name: CI | |
on: [push, pull_request] | |
jobs: | |
lint-commitlint: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
- name: Install commitlint | |
run: | | |
npm install conventional-changelog-conventionalcommits | |
npm install commitlint@latest | |
- name: Check commit message compliance of the recently pushed commit | |
if: github.event_name == 'push' | |
run: | | |
./run-tests.sh --check-commitlint HEAD~1 HEAD | |
- name: Check commit message compliance of the pull request | |
if: github.event_name == 'pull_request' | |
run: | | |
./run-tests.sh --check-commitlint ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} ${{ github.event.pull_request.head.sha }} | |
lint-shellcheck: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Runs shell script static analysis | |
run: | | |
sudo apt-get install shellcheck | |
./run-tests.sh --check-shellcheck | |
build: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Install Python dependencies | |
run: | | |
pip install --upgrade pip | |
pip install reana-client | |
pip install reana-commons | |
- name: Build analysis environment image | |
run: docker build -f environments/reana-demo-bsm-search/Dockerfile -t reanahub/reana-demo-bsm-search . | |
- name: Validate workflow specification file | |
run: reana-client validate | |
- name: Test whether the ROOT version is well 6 | |
run: docker run -i --rm -v `pwd`/code:/code reanahub/reana-demo-bsm-search root-config --version | grep -q ^6 | |
- name: Test whether we can import hftools Python library | |
run: docker run -i --rm -v `pwd`/code:/code reanahub/reana-demo-bsm-search /bin/bash -c 'source /usr/local/bin/thisroot.sh && python -c "import hftools.hepdata"' | |
- name: Test whether the latest analysis code is well present inside the container | |
run: docker run -i --rm -v `pwd`/code:/newcode reanahub/reana-demo-bsm-search diff -r /code /newcode |