--- 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: Install Go uses: actions/setup-go@v5 with: go-version: 1.22 - name: Checkout code uses: actions/checkout@v4 - 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 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: Install Go uses: actions/setup-go@v5 with: go-version: 1.21 - name: Checkout code uses: actions/checkout@v4 - 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 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