From 523fba506cf0207f8fdb0d96363038f86c4d510e Mon Sep 17 00:00:00 2001 From: Orestis <orestis.malaspinas@pm.me> Date: Wed, 8 Nov 2023 15:32:15 +0100 Subject: [PATCH] added gitlab-ci --- .gitignore | 3 +++ .gitlab-ci.yml | 47 +++++++++++++++++++++++++++++++++++++++++++++++ Makefile | 1 + tris_multiples.md | 14 +++++++++++++- 4 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e4b9e86 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +tris_multiples.html +tris_multiples.pdf +.vscode diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..a1df40a --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,47 @@ +image: omalaspinas/pandoc:latest + +variables: + GIT_SUBMODULE_STRATEGY: recursive + +before_script: + ## + ## Run ssh-agent (inside the build environment) + ## + - eval $(ssh-agent -s) + + ## + ## Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store + ## We're using tr to fix line endings which makes ed25519 keys work + ## without extra base64 encoding. + ## https://gitlab.com/gitlab-examples/ssh-private-key/issues/1#note_48526556 + ## + - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null + + ## + ## Create the SSH directory and give it the right permissions + ## + - mkdir -p ~/.ssh + - chmod 700 ~/.ssh + + ## + ## Add host id to known_hosts + ## + - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts + - chmod 644 ~/.ssh/known_hosts + + + +build_only: + script: + - make + - make deploy + - rsync -avz prog_seq_c_tp ur1bg_malas@ur1bg.ftp.infomaniak.com:web/malaspinas/ + +build_artifacts: + script: + - make + artifacts: + paths: + - "*.pdf" + only: + - tags diff --git a/Makefile b/Makefile index f49dd46..20b008d 100644 --- a/Makefile +++ b/Makefile @@ -26,6 +26,7 @@ deploy: all mkdir -p prog_seq_c_tp/tris_multiples cp tris_multiples.html prog_seq_c_tp/tris_multiples/index.html cp tris_multiples.pdf prog_seq_c_tp/tris_multiples/tris_multiples.pdf + cp -r skeleton prog_seq_c_tp/tris_multiples/ clean: rm -rf *.html *.pdf prog_seq_c_tp diff --git a/tris_multiples.md b/tris_multiples.md index 4ff9e2c..8a63032 100644 --- a/tris_multiples.md +++ b/tris_multiples.md @@ -31,7 +31,19 @@ L'objectif de ce travail pratique est d'implémenter les tris vus en cours. En p en C des tris par base et par fusion, puis si le temps le permet le tri par sélection et le tri rapide. Les pseudo-codes de ces tris se trouve dans [les slides du cours](https://malaspinas.academy/algo_cours/cours_7.pdf). Pour vous aider, on vous fournit un squelette que vous devez compléter. -Vous aurez plusieurs tâches +Ce squelette (à télécharger ici) contient: + +1. Une fonction `main()` qui lit la ligne de commande, génère un tableau et permet de sélectionner son algorithme tri. +2. Les signatures des fonctions des divers tris `radix_sort()`, `merge_sort()`, `selesction_sort()`, et `quick_sort()`. Ces fonctions prennent en argument un tableau et sa taille et modifie le tableau durant leurs exécutions. +3. L'affichage des tableaux `print()` et la vérification si le tri a réussi. + +Vous aurez plusieurs tâches. + +1. Diviser le code en différents fichiers et écrire un `Makefile`. +2. Ajouter des variables `size`, `seed`, `sorting_algo_number` dans le code et lire la la ligne de commande pour faire en sorte que le code compile et s'exécute. +3. Écrire le code C correspondant au tri par base et au tri par fusion. +4. Écrire une fonction permettant de vérifier +5. En option ajouter le tri rapide et le tri par sélection. -- GitLab