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