| --- |
| name: Release binaries |
| on: |
| push: |
| tags: |
| - 'v*' |
| |
| jobs: |
| linux_release: |
| name: Release linux binaries |
| runs-on: ubuntu-latest |
| strategy: |
| matrix: |
| goarch: [amd64, arm, arm64, mips64le, ppc64le, riscv64, s390x] |
| steps: |
| - name: Checkout code |
| uses: actions/checkout@v4 |
| |
| - name: Install Go |
| uses: actions/setup-go@v5 |
| with: |
| go-version-file: .github/go-version |
| |
| - name: Build |
| env: |
| GOARCH: ${{ matrix.goarch }} |
| CGO_ENABLED: 0 |
| run: ./build_linux.sh -ldflags '-extldflags -static -X github.com/containernetworking/plugins/pkg/utils/buildversion.BuildVersion=${{ github.ref_name }}' |
| |
| - name: COPY files |
| run: cp README.md LICENSE bin/ |
| |
| - name: Change plugin file ownership |
| working-directory: ./bin |
| run: sudo chown -R root:root . |
| |
| - name: Create dist directory |
| run: mkdir dist |
| |
| - name: Create archive file |
| working-directory: ./bin |
| run: tar cfzpv ../dist/cni-plugins-linux-${{ matrix.goarch }}-${{ github.ref_name }}.tgz . |
| |
| - name: Create sha256 checksum |
| working-directory: ./dist |
| run: sha256sum cni-plugins-linux-${{ matrix.goarch }}-${{ github.ref_name }}.tgz | tee cni-plugins-linux-${{ matrix.goarch }}-${{ github.ref_name }}.tgz.sha256 |
| |
| - name: Create sha512 checksum |
| working-directory: ./dist |
| run: sha512sum cni-plugins-linux-${{ matrix.goarch }}-${{ github.ref_name }}.tgz | tee cni-plugins-linux-${{ matrix.goarch }}-${{ github.ref_name }}.tgz.sha512 |
| |
| - name: Upload binaries to release |
| uses: svenstaro/upload-release-action@v2 |
| with: |
| repo_token: ${{ secrets.GITHUB_TOKEN }} |
| file: ./dist/* |
| tag: ${{ github.ref }} |
| overwrite: true |
| file_glob: true |
| |
| windows_releases: |
| name: Release windows binaries |
| runs-on: ubuntu-latest |
| strategy: |
| matrix: |
| goarch: [amd64] |
| steps: |
| - name: Install dos2unix |
| run: sudo apt-get install dos2unix |
| |
| - name: Checkout code |
| uses: actions/checkout@v4 |
| |
| - name: Install Go |
| uses: actions/setup-go@v5 |
| with: |
| go-version-file: .github/go-version |
| |
| - name: Build |
| env: |
| GOARCH: ${{ matrix.goarch }} |
| CGO_ENABLED: 0 |
| run: ./build_windows.sh -ldflags '-extldflags -static -X github.com/containernetworking/plugins/pkg/utils/buildversion.BuildVersion=${{ github.ref_name }}' |
| |
| - name: COPY files |
| run: cp README.md LICENSE bin/ |
| |
| - name: Change plugin file ownership |
| working-directory: ./bin |
| run: sudo chown -R root:root . |
| |
| - name: Create dist directory |
| run: mkdir dist |
| |
| - name: Create archive file |
| working-directory: ./bin |
| run: tar cpfzv ../dist/cni-plugins-windows-${{ matrix.goarch }}-${{ github.ref_name }}.tgz . |
| |
| - name: Create sha256 checksum |
| working-directory: ./dist |
| run: sha256sum cni-plugins-windows-${{ matrix.goarch }}-${{ github.ref_name }}.tgz | tee cni-plugins-windows-${{ matrix.goarch }}-${{ github.ref_name }}.tgz.sha256 |
| |
| - name: Create sha512 checksum |
| working-directory: ./dist |
| run: sha512sum cni-plugins-windows-${{ matrix.goarch }}-${{ github.ref_name }}.tgz | tee cni-plugins-windows-${{ matrix.goarch }}-${{ github.ref_name }}.tgz.sha512 |
| |
| - name: Upload binaries to release |
| uses: svenstaro/upload-release-action@v2 |
| with: |
| repo_token: ${{ secrets.GITHUB_TOKEN }} |
| file: ./dist/* |
| tag: ${{ github.ref }} |
| overwrite: true |
| file_glob: true |