github.com/tri-adam/singularity@v3.1.1+incompatible/.circleci/config.yml (about)

     1  version: 2.0
     2  
     3  defaults: &defaults
     4    working_directory: /go/src/github.com/sylabs/singularity
     5  
     6  jobs:
     7    get_source:
     8      <<: *defaults
     9      docker:
    10        - image: sylabsio/golang:1.11-stretch
    11      steps:
    12        - checkout
    13        - persist_to_workspace:
    14            root: /go
    15            paths:
    16              - src/github.com/sylabs/singularity
    17  
    18    go1.10-stretch:
    19      <<: *defaults
    20      docker:
    21        - image: sylabsio/golang:1.10-stretch
    22      steps:
    23        - attach_workspace:
    24            at: /go
    25        - run:
    26            name: Build Singularity
    27            command: |-
    28              ./mconfig -p /usr/local
    29              make -j$(nproc) -C ./builddir all
    30  
    31    go1.11-stretch:
    32      <<: *defaults
    33      docker:
    34        - image: sylabsio/golang:1.11-stretch
    35      steps:
    36        - attach_workspace:
    37            at: /go
    38        - run:
    39            name: Build Singularity
    40            command: |-
    41              ./mconfig -p /usr/local
    42              make -j$(nproc) -C ./builddir all
    43        - run:
    44            name: Check code
    45            command: |-
    46              go get -u golang.org/x/lint/golint
    47              make -j$(nproc) -C ./builddir check
    48  
    49    go1.11-alpine:
    50      <<: *defaults
    51      docker:
    52        - image: sylabsio/golang:1.11-alpine
    53      steps:
    54        - attach_workspace:
    55            at: /go
    56        - run:
    57            name: Build Singularity
    58            command: |-
    59              ./mconfig -p /usr/local
    60              make -j$(nproc) -C ./builddir all
    61              go get -u golang.org/x/lint/golint
    62              make -j$(nproc) -C ./builddir check
    63        - run:
    64            name: Check code
    65            command: |-
    66              go get -u golang.org/x/lint/golint
    67              make -j$(nproc) -C ./builddir check
    68  
    69    singularity_test:
    70      machine: true
    71      steps:
    72        - attach_workspace:
    73            at: ~/go
    74        - run:
    75            name: Setup environment
    76            command: |-
    77              echo 'export  GOPATH=$HOME/go' >> $BASH_ENV
    78              echo 'export  GOROOT=/usr/local/go' >> $BASH_ENV
    79              echo 'export  GOBIN=$HOME/go/bin' >> $BASH_ENV
    80              echo 'export  GOCACHE=off' >> $BASH_ENV
    81              echo 'export PATH=$GOPATH/bin:$GOBIN:$GOROOT/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin' >> $BASH_ENV
    82        - run:
    83            name: Update Go to 1.11
    84            working_directory: /tmp
    85            command: |-
    86              wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz
    87              sudo rm -rf /usr/local/go
    88              sudo tar -C /usr/local -xzf go1.11.linux-amd64.tar.gz
    89              sudo chown -R circleci:circleci ~/go
    90        - run:
    91            name: Fetch deps
    92            working_directory: /tmp
    93            command: |-
    94              mkdir -p ${GOBIN}
    95              curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
    96              sudo apt-get update -y && sudo apt-get install -y build-essential libssl-dev uuid-dev libgpgme11-dev squashfs-tools libseccomp-dev
    97        - run:
    98            name: Build & install singularity
    99            command: |-
   100              cd $HOME/go/src/github.com/sylabs/singularity
   101              ./mconfig -p /usr/local
   102              make -j$(nproc) -C ./builddir all
   103              sudo make -C ./builddir install
   104        - run:
   105            name: Test singularity
   106            command: |-
   107              cd $HOME/go/src/github.com/sylabs/singularity
   108              make -C ./builddir test
   109  
   110  workflows:
   111    version: 2
   112    test-compile:
   113      jobs:
   114        - get_source
   115        - go1.10-stretch:
   116            requires:
   117              - get_source
   118        - go1.11-stretch:
   119            requires:
   120              - get_source
   121        - go1.11-alpine:
   122            requires:
   123              - get_source
   124        - singularity_test:
   125            requires:
   126              - get_source