github.com/containerd/containerd@v22.0.0-20200918172823-438c87b8e050+incompatible/.github/workflows/nightly.yml (about)

     1  name: Nightly
     2  on:
     3    schedule:
     4      - cron: '0 0 * * *' # Every day at midnight
     5    pull_request:
     6      paths:
     7        - '.github/workflows/nightly.yml'
     8  
     9  jobs:
    10    linux:
    11      name: Linux
    12      runs-on: ubuntu-latest
    13  
    14      steps:
    15        - name: Set up Go
    16          uses: actions/setup-go@v1
    17          with:
    18            go-version: '1.15.2'
    19  
    20        - name: Checkout
    21          uses: actions/checkout@v1
    22          env:
    23            GOPATH: ${{ runner.workspace }}
    24            GO111MODULE: off
    25          with:
    26            path: ./src/github.com/containerd/containerd
    27  
    28        #
    29        # Build
    30        #
    31  
    32        - name: Install dependencies
    33          run: |
    34            sudo add-apt-repository "deb [arch=arm64,s390x,ppc64el] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -sc) main" || true
    35            sudo add-apt-repository "deb [arch=arm64,s390x,ppc64el] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -sc)-updates main" || true
    36  
    37            sudo dpkg --add-architecture arm64
    38            sudo dpkg --add-architecture s390x
    39            sudo dpkg --add-architecture ppc64el
    40  
    41            sudo apt-get update || true
    42  
    43            sudo apt-get install -y \
    44              crossbuild-essential-arm64 \
    45              crossbuild-essential-s390x \
    46              crossbuild-essential-ppc64el \
    47              libseccomp-dev:amd64 \
    48              libseccomp-dev:arm64 \
    49              libseccomp-dev:s390x \
    50              libseccomp-dev:ppc64el
    51  
    52        - name: Build amd64
    53          env:
    54            GOPATH: ${{ runner.workspace }}
    55            GOOS: linux
    56            GOARCH: amd64
    57          run: |
    58            make binaries
    59            mv bin bin_amd64
    60  
    61        - name: Build arm64
    62          env:
    63            GOPATH: ${{ runner.workspace }}
    64            GOOS: linux
    65            GOARCH: arm64
    66            CC: aarch64-linux-gnu-gcc
    67            CGO_ENABLED: 1
    68          run: |
    69            make binaries
    70            mv bin bin_arm64
    71  
    72        - name: Build s390x
    73          env:
    74            GOPATH: ${{ runner.workspace }}
    75            GOOS: linux
    76            GOARCH: s390x
    77            CGO_ENABLED: 1
    78            CC: s390x-linux-gnu-gcc
    79          run: |
    80            make binaries
    81            mv bin bin_s390x
    82  
    83        - name: Build ppc64le
    84          env:
    85            GOPATH: ${{ runner.workspace }}
    86            GOOS: linux
    87            GOARCH: ppc64le
    88            CGO_ENABLED: 1
    89            CC: powerpc64le-linux-gnu-gcc
    90          run: |
    91            make binaries
    92            mv bin bin_ppc64le
    93  
    94        #
    95        # Upload
    96        #
    97  
    98        - name: Upload artifacts (linux_amd64)
    99          uses: actions/upload-artifact@v1
   100          with:
   101            name: linux_amd64
   102            path: bin_amd64
   103  
   104        - name: Upload artifacts (linux_arm64)
   105          uses: actions/upload-artifact@v1
   106          with:
   107            name: linux_arm64
   108            path: bin_arm64
   109  
   110        - name: Upload artifacts (linux_s390x)
   111          uses: actions/upload-artifact@v1
   112          with:
   113            name: linux_s390x
   114            path: bin_s390x
   115  
   116        - name: Upload artifacts (linux_ppc64le)
   117          uses: actions/upload-artifact@v1
   118          with:
   119            name: linux_ppc64le
   120            path: bin_ppc64le
   121  
   122    windows:
   123      name: Windows
   124      runs-on: windows-latest
   125      steps:
   126        - name: Set up Go
   127          uses: actions/setup-go@v1
   128          with:
   129            go-version: '1.15.2'
   130  
   131        - name: Checkout
   132          uses: actions/checkout@v1
   133          env:
   134            GOPATH: ${{ runner.workspace }}
   135            GO111MODULE: off
   136          with:
   137            path: ./src/github.com/containerd/containerd
   138  
   139        - name: Build amd64
   140          env:
   141            GOPATH: ${{ runner.workspace }}
   142            GOOS: windows
   143            GOARCH: amd64
   144          run: |
   145            make binaries
   146  
   147        - name: Upload artifacts (windows_amd64)
   148          uses: actions/upload-artifact@v1
   149          with:
   150            name: windows_amd64
   151            path: bin