github.com/lalkh/containerd@v1.4.3/.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.5'
    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        - name: Set env
    29          shell: bash
    30          run: |
    31            echo "GOPATH=${{ github.workspace }}" >> $GITHUB_ENV
    32            echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
    33  
    34        #
    35        # Build
    36        #
    37  
    38        - name: Install dependencies
    39          run: |
    40            sudo add-apt-repository "deb [arch=arm64,s390x,ppc64el] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -sc) main" || true
    41            sudo add-apt-repository "deb [arch=arm64,s390x,ppc64el] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -sc)-updates main" || true
    42  
    43            sudo dpkg --add-architecture arm64
    44            sudo dpkg --add-architecture s390x
    45            sudo dpkg --add-architecture ppc64el
    46  
    47            sudo apt-get update || true
    48  
    49            sudo apt-get install -y \
    50              crossbuild-essential-arm64 \
    51              crossbuild-essential-s390x \
    52              crossbuild-essential-ppc64el \
    53              libseccomp-dev:amd64 \
    54              libseccomp-dev:arm64 \
    55              libseccomp-dev:s390x \
    56              libseccomp-dev:ppc64el
    57  
    58        - name: Build amd64
    59          env:
    60            GOPATH: ${{ runner.workspace }}
    61            GOOS: linux
    62            GOARCH: amd64
    63          run: |
    64            make binaries
    65            mv bin bin_amd64
    66  
    67        - name: Build arm64
    68          env:
    69            GOPATH: ${{ runner.workspace }}
    70            GOOS: linux
    71            GOARCH: arm64
    72            CC: aarch64-linux-gnu-gcc
    73            CGO_ENABLED: 1
    74          run: |
    75            make binaries
    76            mv bin bin_arm64
    77  
    78        - name: Build s390x
    79          env:
    80            GOPATH: ${{ runner.workspace }}
    81            GOOS: linux
    82            GOARCH: s390x
    83            CGO_ENABLED: 1
    84            CC: s390x-linux-gnu-gcc
    85          run: |
    86            make binaries
    87            mv bin bin_s390x
    88  
    89        - name: Build ppc64le
    90          env:
    91            GOPATH: ${{ runner.workspace }}
    92            GOOS: linux
    93            GOARCH: ppc64le
    94            CGO_ENABLED: 1
    95            CC: powerpc64le-linux-gnu-gcc
    96          run: |
    97            make binaries
    98            mv bin bin_ppc64le
    99  
   100        #
   101        # Upload
   102        #
   103  
   104        - name: Upload artifacts (linux_amd64)
   105          uses: actions/upload-artifact@v1
   106          with:
   107            name: linux_amd64
   108            path: bin_amd64
   109  
   110        - name: Upload artifacts (linux_arm64)
   111          uses: actions/upload-artifact@v1
   112          with:
   113            name: linux_arm64
   114            path: bin_arm64
   115  
   116        - name: Upload artifacts (linux_s390x)
   117          uses: actions/upload-artifact@v1
   118          with:
   119            name: linux_s390x
   120            path: bin_s390x
   121  
   122        - name: Upload artifacts (linux_ppc64le)
   123          uses: actions/upload-artifact@v1
   124          with:
   125            name: linux_ppc64le
   126            path: bin_ppc64le
   127  
   128    windows:
   129      name: Windows
   130      runs-on: windows-latest
   131      steps:
   132        - name: Set up Go
   133          uses: actions/setup-go@v1
   134          with:
   135            go-version: '1.15.5'
   136  
   137        - name: Checkout
   138          uses: actions/checkout@v1
   139          env:
   140            GOPATH: ${{ runner.workspace }}
   141            GO111MODULE: off
   142          with:
   143            path: src/github.com/containerd/containerd
   144  
   145        - name: Set env
   146          shell: bash
   147          run: |
   148            echo "GOPATH=${{ github.workspace }}" >> $GITHUB_ENV
   149            echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
   150  
   151        - name: Build amd64
   152          env:
   153            GOPATH: ${{ runner.workspace }}
   154            GOOS: windows
   155            GOARCH: amd64
   156          run: |
   157            make binaries
   158  
   159        - name: Upload artifacts (windows_amd64)
   160          uses: actions/upload-artifact@v1
   161          with:
   162            name: windows_amd64
   163            path: bin