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