diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..8fd3e21617518ceb79380095ea1b59ce7d31e092 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,52 @@ +image: omalaspinas/archlinux-pandoc:latest + +before_script: + ## + ## Install ssh-agent if not already installed, it is required by Docker. + ## (change apt-get to yum if you use an RPM-based image) + ## + - 'which ssh-agent || (pacman -S --noconfirm openssh)' + - 'which rsync || (pacman -S --noconfirm rsync)' + + + ## + ## 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_cours malaspinas@129.194.185.180:/www/ + +build_artifacts: + script: + - make + artifacts: + paths: + - "*.pdf" + only: + - tags diff --git a/Makefile b/Makefile index a8aa7b365683190d43772dfa5df6f4ee6b953fc5..f2cd0b514e73c8160a7b9a949a5f67f68b66c1b1 100644 --- a/Makefile +++ b/Makefile @@ -14,5 +14,9 @@ intro.pdf: intro.md *.theme base_1.pdf: base_1.md *.theme pandoc -t beamer -o $@ $< +deploy: all + mkdir -p prog_seq_c_cours + cp *.pdf prog_seq_c_cours + clean: rm -f *.pdf