Terms of Service | Privacy Policy | Cookie Policy

Commit 6f92826a authored by Uwe Plonus's avatar Uwe Plonus
Browse files

Merge branch 'master' into 'master'

Refactord build process

See merge request !1
parents fbefd018 78e9402f
Loading
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
**/bios286
**/bios386
**/bios86
*~
*.acn
*.acr
@@ -25,3 +22,6 @@
*.ilg
public/
.sass-cache/
build/
src/LICENSE
src/bios*
+41 −7
Original line number Diff line number Diff line
image: $CI_REGISTRY/sw4j-net/noweb-nasm/master:latest

stages:
  - extract
  - build
  - deploy

asm:
  image: $CI_REGISTRY/sw4j-net/noweb/master:latest
  stage: extract
  script:
    - make source
  artifacts:
    paths:
      - src/*.asm
    expire_in: 1 hour

tex:
  image: $CI_REGISTRY/sw4j-net/noweb/master:latest
  stage: extract
  script:
    - make tex
  artifacts:
    paths:
      - tex/biosx86.*
    expire_in: 1 hour

build:
  image: $CI_REGISTRY/sw4j-net/nasm/master:latest
  stage: build
  script:
    - make -t source
    - make bin
  dependencies:
    - asm
  artifacts:
    paths:
      - build/*
    expire_in: 1 hour

pdf:
  image: $CI_REGISTRY/sw4j-net/noweb/master:latest
  stage: build
  script:
    - make
    - make -t tex
    - make pdf
  artifacts:
    paths:
      - biosx86/*.asm
      - biosx86/*.pdf
      - build/*.pdf
    expire_in: 1 hour

pages:
@@ -20,9 +54,9 @@ pages:
  script:
    - gem install jekyll-theme-tactile
    - jekyll build -s site -d public
    - mkdir -p public/biosx86
    - cp biosx86/*.asm public/biosx86/
    - cp biosx86/*.pdf public/
    - mkdir -p public/src
    - cp src/*.asm public/src/
    - cp build/*.pdf public/
  artifacts:
    paths:
      - public

Dockerfile

deleted100644 → 0
+0 −8
Original line number Diff line number Diff line
FROM ubuntu:16.04

RUN apt-get update
RUN apt-get -y install curl
RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
RUN apt-get -y install git git-lfs make nasm build-essential
RUN git lfs install
RUN apt-get -y install texlive-full noweb

Jenkinsfile

deleted100644 → 0
+0 −64
Original line number Diff line number Diff line
pipeline {
  agent {
    node {
      label 'master'
    }
  }
  stages {
    stage('Cleanup') {
      steps {
        deleteDir()
      }
    }
    stage('Checkout') {
      steps {
        checkout scm
      }
    }
    stage('Build asm and pdf') {
      agent {
        dockerfile {
          reuseNode true
        }
      }
      steps {
        sh script: 'make'
        sh script: 'make pdf'
      }
    }
    stage('Archive Artifacts') {
      steps {
        archiveArtifacts 'asm/*.asm'
        archiveArtifacts 'bin/*'
        archiveArtifacts 'Meltdown-Spectre.pdf'
      }
    }
    stage('Update gh-pages from master') {
      when {
        environment name: 'CHANGE_FORK', value: ''
        expression { GIT_URL ==~ 'https://github.com/osdevelopment-info/.*' }
        expression { GIT_BRANCH ==~ 'master' }
        expression { currentBuild.result == null || currentBuild.result == 'SUCCESS' }
      }
      steps {
        sshagent(['6452f2aa-2b69-4fa7-be5f-5f0ef6d3acba']) {
          sh """
            git clone --no-checkout \$(echo ${GIT_URL} | sed 's/https:\\/\\//git@/' | sed 's/\\//:/') checkout
            git config --add user.email ci@sw4j.org
            git config --add user.name "CI Jenkins"
            git config push.default simple
            cd checkout
            git checkout gh-pages
            mkdir -p asm/
            cp ../*.pdf .
            cp ../asm/*.asm asm/
            git diff --quiet && git diff --staged --quiet || git commit -am 'Update program code and documentation'
            git push
            cd ..
            rm -rf checkout
          """
        }
      }
    }
  }
}

LICENSE

0 → 100644
+451 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading