update: added makefile, norminette and sync workflow

This commit is contained in:
2025-10-11 17:17:15 +02:00
parent 161ac6b69d
commit 00d19af02d
3 changed files with 112 additions and 0 deletions

29
.github/workflows/makefile.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
name: Makefile
on:
push:
jobs:
check-makefile:
name: Makefile
runs-on: ubuntu-latest
if: ${{ github.repository != 'sdevsantiago/42_project_template' }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Prerequisites
run: sudo apt install build-essential
- name: Show Make Version
run: make --version
- name: Run Makefile
run: make > makefile-report.txt
- name: Upload Makefile report
uses: actions/upload-artifact@v4
with:
name: makefile-report
path: makefile-report.txt

33
.github/workflows/norminette.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
name: Norminette
on:
push:
jobs:
check-norminette:
name: Norminette
runs-on: ubuntu-latest
if: ${{ github.repository != 'sdevsantiago/42_project_template' }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install Norminette
run: pip install --upgrade norminette
- name: Show Version
run: norminette --version
- name: Run Norminette
run: norminette -R CheckForbiddenSourceHeader -R CheckDefine -R CheckLine -R CheckVariableName -R CheckFunctionName --use-gitignore > norminette-report.txt
- name: Upload Norminette report
uses: actions/upload-artifact@v4
with:
name: norminette-report
path: norminette-report.txt

50
.github/workflows/sync.yml vendored Normal file
View File

@@ -0,0 +1,50 @@
name: Update 42 repo
on:
push:
permissions:
contents: write
pages: write
id-token: write
jobs:
update:
name: Update 42 repo
runs-on: ubuntu-latest
if: ${{ github.repository != 'sdevsantiago/42_project_template' }}
steps:
- name: Get repo name
id: repo_name
run: echo "repo_name=$(echo ${GITHUB_REPOSITORY} | cut -d'/' -f2)" >> $GITHUB_OUTPUT
- name: Git config
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
- name: Checkout
uses: actions/checkout@v5
with:
path: ${{ steps.repo_name.outputs.repo_name }}
- name: Checkout 42
uses: actions/checkout@v5
with:
ssh-key: ${{ secrets.SSH_PRIVATE_KEY }}
repository: sdevsantiago/42
path: 42
submodules: true
- name: Sync and commit
run: |
cd 42
git submodule update --remote ${{ steps.repo_name.outputs.repo_name }}
if ! git diff --quiet; then
git commit -am "[${{ steps.repo_name.outputs.repo_name }}] $(cd ${{ steps.repo_name.outputs.repo_name }} && git log -n 1 --format=%B)"
git push
else
echo "Submodule already up to date."
fi
env:
SYNC_PAT: ${{ secrets.SYNC_PAT }}