Changes in / [38bfe32a:8abfdb4]


Ignore:
Files:
2 added
6 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • Jenkinsfile

    r38bfe32a r8abfdb4  
    3535}
    3636
    37 def push_build() {
    38         //Don't use the build_stage function which outputs the compiler
    39         stage 'Push'
    40 
    41                 status_prefix = 'Push'
    42 
    43                 def out_dir = pwd tmp: true
    44                 sh "mkdir -p ${out_dir}"
    45 
    46                 //parse git logs to find what changed
    47                 sh "git remote > ${out_dir}/GIT_REMOTE"
    48                 git_remote = readFile("${out_dir}/GIT_REMOTE")
    49                 remoteDoLangExists = git_remote.contains("DoLang")
    50 
    51                 if( !remoteDoLangExists ) {
    52                         sh 'git remote add DoLang git@gitlab.do-lang.org:internal/cfa-cc.git'
    53                 }
    54 
    55                 sh "git push DoLang ${gitRefNewValue}:master"
    56 }
    57 
    5837//===========================================================================================================
    5938// Helper classes/variables/routines to make the status and stage name easier to use
     
    8867def collect_git_info() {
    8968
    90         //create the temporary output directory in case it doesn't already exist
    9169        def out_dir = pwd tmp: true
    92         sh "mkdir -p ${out_dir}"
    93 
    94         //parse git logs to find what changed
    9570        gitRefName = env.BRANCH_NAME
    9671        dir("../${gitRefName}@script") {
     
    10782node ('master'){
    10883
    109         boolean doPromoteBuild2DoLang
    11084        def err = null
    11185        def log_needed = false
     
    12296                                collect_git_info()
    12397
    124                                 properties ([                                                                   \
    125                                         [$class: 'ParametersDefinitionProperty',                                \
    126                                                 parameterDefinitions: [                                         \
    127                                                 [$class: 'BooleanParameterDefinition',                          \
    128                                                   defaultValue: false,                                          \
    129                                                   description: 'If true, the build will be promoted to the do-lang git repository (on successful builds only)', \
    130                                                   name: 'promoteBuild2DoLang'                           \
    131                                                 ]]                                                                      \
    132                                         ]])
    133 
    134                                 doPromoteBuild2DoLang = promoteBuild2DoLang == 'true'
    135 
    136                                 echo "FULL BUILD = ${doPromoteBuild2DoLang}"
    137 
    13898                                //Compile using gcc-4.9
    13999                                currentCC = new CC_Desc('gcc-4.9', 'g++-4.9', 'gcc-4.9')
     
    148108                                cfa_build()
    149109
    150                                 if( doPromoteBuild2DoLang ) {
    151                                         push_build()
    152                                 }
    153110                        }
    154111                }
     
    170127        finally {
    171128                //Send email with final results
    172                 notify_result(doPromoteBuild2DoLang, err, currentBuild.result, log_needed)
     129                email(currentBuild.result, log_needed)
    173130
    174131                /* Must re-throw exception to propagate error */
     
    182139//Routine responsible of sending the email notification once the build is completed
    183140//===========================================================================================================
    184 def notify_result(boolean promote, Exception err, String status, boolean log) {
    185         if(promote)     {
    186                 if( err ) {
    187                         promote_email(status)
    188                 }
    189         }
    190         else {
    191                 email(status, log)
    192         }
    193 }
    194 
    195 //Email notification on a full build failure
    196 def promote_email(String status) {
    197         //Since tokenizer doesn't work, figure stuff out from the environnement variables and command line
    198         //Configurations for email format
    199         def email_subject = "[cforall git][PROMOTE - FAILURE]"
    200         def email_body = """This is an automated email from the Jenkins build machine. It was
    201 generated because of a git hooks/post-receive script following
    202 a ref change was pushed to the repository containing
    203 the project "UNNAMED PROJECT".
    204 
    205 Check console output at ${env.BUILD_URL} to view the results.
    206 
    207 - Status --------------------------------------------------------------
    208 
    209 PROMOTE FAILURE - ${status}
    210 """
    211 
    212         def email_to = "pabuhr@uwaterloo.ca, rschlunt@uwaterloo.ca, a3moss@uwaterloo.ca, tdelisle@uwaterloo.ca, brice.dobry@huawei.com"
    213 
    214         //send email notification
    215         emailext body: email_body, subject: email_subject, to: email_to, attachLog: true
    216 }
    217 
    218 //Standard build email notification
    219141def email(String status, boolean log) {
    220142        //Since tokenizer doesn't work, figure stuff out from the environnement variables and command line
     
    235157
    236158The branch ${env.BRANCH_NAME} has been updated.
    237   via  ${gitRefOldValue} (commit)
    238   from  ${gitRefNewValue} (commit)
     159        via  ${gitRefOldValue} (commit)
     160        from  ${gitRefNewValue} (commit)
    239161
    240162Check console output at ${env.BUILD_URL} to view the results.
  • doc/bibliography/cfa.bib

    r38bfe32a r8abfdb4  
    356356}
    357357
    358 @article{Cormack81,
     358@article{Cor:overload,
    359359    keywords    = {},
    360360    contributer = {gjditchfield@plg},
     
    29222922    }
    29232923}
    2924 
    2925 @unpublished{Bilson,
    2926         keywords = {generic programming, generics, polymorphism},
    2927         contributor  {a3moss@plg},
    2928         author = {Richard C. Bilson and Glen Ditchfield and Peter A. Buhr},
    2929         title = {Generic Programming with Inferred Models},
    2930 }
    2931 
    29322924
    29332925@article{Haskell,
     
    45484540}
    45494541
    4550 @article{Baker82,
     4542@article{Bak:overload,
    45514543    keywords    = {compilation},
    45524544    contributer = {gjditchfield@plg},
     
    54635455% Q
    54645456
    5465 @article{Grossman06,
    5466  keywords = {Cyclone, existential types, polymorphism, type variables},
    5467  contributer = {a3moss@plg},
    5468  author = {Grossman, Dan},
    5469  title = {Quantified Types in an Imperative Language},
    5470  journal = toplas,
    5471  issue_date = {May 2006},
    5472  volume = {28},
    5473  number = {3},
    5474  month = may,
    5475  year = {2006},
    5476  issn = {0164-0925},
    5477  pages = {429--475},
    5478  numpages = {47},
    5479  url = {http://doi.acm.org.proxy.lib.uwaterloo.ca/10.1145/1133651.1133653},
    5480  doi = {10.1145/1133651.1133653},
    5481  acmid = {1133653},
    5482  publisher = {ACM},
    5483  address = {New York, NY, USA},
    5484 }
    5485 
    54865457@article{Hoare61,
    54875458    keywords    = {quick sort},
  • src/libcfa/Makefile.am

    r38bfe32a r8abfdb4  
    1111## Created On       : Sun May 31 08:54:01 2015
    1212## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Wed Jun  8 14:20:34 2016
    14 ## Update Count     : 165
     13## Last Modified On : Tue Jun  7 14:38:18 2016
     14## Update Count     : 142
    1515###############################################################################
    1616
     
    5454
    5555headers = limits stdlib math iostream fstream iterator rational
    56 libobjs = ${headers:=.o}
     56.PRECIOUS : ${headers}                                          # stop implicit '.o' rules from removing extensionless headers
    5757
    58 # extensionless header files are overridden by -o flag in default makerule => explicitly override default rule to silently do nothing
    59 % : %.c
    60         @true
     58#.SECONDARY : ${headers}                                        # stop implicit '.o' rules from removing extensionless headers
    6159
    62 ${libobjs} : ${abs_top_srcdir}/src/driver/cfa-cpp       # add dependency to cfa-cpp so all libraries are rebuilt with new translator
    6360
    6461libcfa_a_SOURCES = libcfa-prelude.c ${headers:=.c}
  • src/libcfa/Makefile.in

    r38bfe32a r8abfdb4  
    215215        ${addprefix ${libdir}/,${lib_LIBRARIES}} ${includedir}/*
    216216headers = limits stdlib math iostream fstream iterator rational
    217 libobjs = ${headers:=.o}
    218217libcfa_a_SOURCES = libcfa-prelude.c ${headers:=.c}
    219218include_HEADERS = ${headers}
     
    588587libcfa-prelude.o : libcfa-prelude.c
    589588        @BACKEND_CC@ -c -o $@ $<
    590 
    591 # extensionless header files are overridden by -o flag in default makerule => explicitly override default rule to silently do nothing
    592 % : %.c
    593         @true
    594 
    595 ${libobjs} : ${abs_top_srcdir}/src/driver/cfa-cpp       # add dependency to cfa-cpp so all libraries are rebuilt with new translator
     589.SECONDARY : ${headers}                                 # stop implicit '.o' rules from removing extensionless headers
    596590
    597591# Tell versions [3.59,3.63) of GNU make to not export all variables.
Note: See TracChangeset for help on using the changeset viewer.