Skip to content

Commit

Permalink
Merge pull request #2 from sisoputnfrba/feature/CFG-3-continuous_inte…
Browse files Browse the repository at this point in the history
…gration

Feature/cfg 3 continuous integration
  • Loading branch information
tomasanchez authored Apr 13, 2022
2 parents ef7a22b + 43a7ea8 commit 14b2cac
Show file tree
Hide file tree
Showing 4 changed files with 162 additions and 0 deletions.
24 changes: 24 additions & 0 deletions .github/workflows/makefile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Makefile CI

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Install dependencies
run: sudo make install

- name: Build application
run: make compile

- name: Verify
run: make test
14 changes: 14 additions & 0 deletions .versionrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"types": [
{ "type": "feat", "section": "Features" },
{ "type": "fix", "section": "Bug Fixes" },
{ "type": "chore", "hidden": true },
{ "type": "docs", "hidden": true },
{ "type": "style", "hidden": true },
{ "type": "refactor", "hidden": true },
{ "type": "perf", "hidden": true },
{ "type": "test", "hidden": true }
],
"commitUrlFormat": "https://github.com/mokkapps/changelog-generator-demo/commits/{{hash}}",
"compareUrlFormat": "https://github.com/mokkapps/changelog-generator-demo/compare/{{previousTag}}...{{currentTag}}"
}
103 changes: 103 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# C Makefile using gcc, gdb and valgrind.
# Modified version of Makefile using g++ & gdb by Roberto Nicolas Savinelli <rsavinelli@est.frba.utn.edu.ar>
# Tomas Agustin Sanchez <tosanchez@est.frba.utn.edu.ar>

# ! Avoid modifying this section - (Unless you know what you are doing) --------------------------------------------------------------

# Build directory - executables files will be stored in this directory
BUILD_DIR=build
# Log directory - log files will be stored in this directory
LOG_DIR=log
# Shared Library directory - shared source files are located in this directory
LIB_DIR=lib
# Shared object directory - shared compiled file objects will be stored in this directory
OBJ_DIR=shared
# Commons name - Operating System Course Library name.
COMMONS=so-commons-library
# Compile script - Custom make directive
MAKE_COMPILE = $(MAKE) compile --no-print-directory
# Test script - Custom make test directive
MAKE_TEST = $(MAKE) test --no-print-directory
# Test Scrpt for each application - Loop for all modules applying test directive.
# ? [modules].forEach( module => makeTest(module))
TEST_ALL=$(foreach dir, $(DIRS), cd $(dir) && $(MAKE_TEST) && cd .. &&)

# * Add your modules directories in this section -------------------------------------------------------------------------------------

# Modules directories - with their own makefile

# TODO: Add additional module directories below here
# ? eg. MEMORY_DIR=memory

# * DO NOT FORGET TO ADD YOUR DIRECTORIES HERE ---------------------------------------------------------------------------------------

# Directories list
# ! Allways add your listed above directories here
# ? eg. DIRS =$(SERVER_DIR) $(CLIENT_DIR) $(MEMORY_DIR)
# TODO: Add the listed directories
DIRS =

# * DO NOT FORGET TO ADD YOUR RULES IN ALL --------------------------------------------------------------------------------------------

# All rules
# ! Allways add your rule for modules in here
# ? eg. all: server client memory filesystem etc
# TODO: add your rules
all:
@echo Nothing to be done YET.

# This targets are not files
# ! Allways add your rules for modules in here too
# ? eg. .PHONY: server client memory filesystem etc [...] clean install test
# TODO: add your rules here
.PHONY: clean install test lib


# ! AVOID MODIFYING THIS SECTION ------------------------------------------------------------------------------------------------------

# This rule will be executed to build the different modules
compile: all

# This rule
test:
$(TEST_ALL) true

# This rule will be executed remove the generated executables and objects files
clean:
rm -fr $(BUILD_DIR)
rm -fr $(OBJ_DIR)

# ? WATCH OUT MODIFYING THIS INSTALL SECTION --------------------------------------------------------------------------------------------------

# ! Requieres root user
# Customize the needed dependencies here.
install:
@echo Installing dependencies...
# TODO: Install required libraries here.
@echo "\nInstalling readline"
apt-get install libreadline-dev
@echo "\nReadline installed!\n"
@echo "\nInstalling commons libraries...\n"
@echo $(PWD)
rm -rf $(COMMONS)
git clone "https://github.com/sisoputnfrba/$(COMMONS).git" $(COMMONS)
cd $(COMMONS) && sudo make uninstall --no-print-directory && sudo make install --no-print-directory && cd ..
rm -rf $(COMMONS)
@echo "\nCommons installed\n"
# $(MAKE) lib --no-print-directory
@mkdir -p $(LOG_DIR)
@echo Completed

# ! Requieres root user
#Compile the shared library
lib:
@echo "Building shared libraries...\n"
rm -fr $(OBJ_DIR)
cd $(LIB_DIR) && $(MAKE) test --no-print-directory && cd ..
@echo "Shared libraries built!\n"

# TODO: Add modules rules below -------------------------------------------------------------------------------------------------------------------


# ? memory:
# ? cd $(MEMORY_DIR) && $(MAKE_COMPILE)
21 changes: 21 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"name": "kiss",
"version": "0.0.1",
"description": "Kernel de Implementacion Super Simple",
"main": "Makefile",
"repository": "https://github.com/sisoputnfrba/tp-2022-1c-code-for-goOS.git",
"author": "Tomas <tosanchez@frba.utn.edu.ar>",
"license": "MIT",
"scripts": {
"start": "make",
"clean": "make remove",
"release": "standard-version",
"release:first-release": "standard-version --first-release",
"release:patch": "standard-version --release-as patch",
"release:minor": "standard-version --release-as minor",
"release:major": "standard-version --release-as major"
},
"dependencies": {
"standard-version": "^9.2.0"
}
}

0 comments on commit 14b2cac

Please sign in to comment.