Fix interactive mod (#210) #5
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build-kubehound-binaries | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
push: | |
tags: | |
- "v*" | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
jobs: | |
prepare: | |
runs-on: ubuntu-latest | |
outputs: | |
matrix: ${{ steps.platforms.outputs.matrix }} | |
steps: | |
- | |
name: Checkout | |
uses: actions/checkout@v3 | |
- | |
name: Create matrix | |
id: platforms | |
run: | | |
echo matrix=$(docker buildx bake binary-cross --print | jq -cr '.target."binary-cross".platforms') >> $GITHUB_OUTPUT | |
- | |
name: Show matrix | |
run: | | |
echo ${{ steps.platforms.outputs.matrix }} | |
validate: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
target: | |
- lint | |
steps: | |
- | |
name: Checkout | |
uses: actions/checkout@v3 | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- | |
name: Run | |
run: | | |
make ${{ matrix.target }} | |
binary: | |
runs-on: ubuntu-latest | |
needs: | |
- prepare | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: ${{ fromJson(needs.prepare.outputs.matrix) }} | |
steps: | |
- | |
name: Prepare | |
run: | | |
platform=${{ matrix.platform }} | |
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV | |
- | |
name: Checkout | |
uses: actions/checkout@v3 | |
- | |
name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- | |
name: Build | |
uses: docker/bake-action@v2 | |
with: | |
targets: release | |
set: | | |
*.platform=${{ matrix.platform }} | |
*.cache-from=type=gha,scope=binary-${{ env.PLATFORM_PAIR }} | |
*.cache-to=type=gha,scope=binary-${{ env.PLATFORM_PAIR }},mode=max | |
- | |
name: Upload artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: compose | |
path: ./bin/release/* | |
if-no-files-found: error | |
release: | |
permissions: | |
contents: write # to create a release (ncipollo/release-action) | |
runs-on: ubuntu-latest | |
needs: | |
- binary | |
steps: | |
- | |
name: Checkout | |
uses: actions/checkout@v3 | |
- | |
name: Download artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: compose | |
path: bin/release | |
- | |
name: Create checksums | |
working-directory: bin/release | |
run: | | |
find . -type f -print0 | sort -z | xargs -r0 shasum -a 256 -b | sed 's# \*\./# *#' > $RUNNER_TEMP/checksums.txt | |
shasum -a 256 -U -c $RUNNER_TEMP/checksums.txt | |
mv $RUNNER_TEMP/checksums.txt . | |
cat checksums.txt | while read sum file; do echo "$sum $file" > ${file#\*}.sha256; done | |
- | |
name: List artifacts | |
run: | | |
tree -nh bin/release | |
- | |
name: Check artifacts | |
run: | | |
find bin/release -type f -exec file -e ascii -- {} + | |
- | |
name: GitHub Release | |
if: startsWith(github.ref, 'refs/tags/v') | |
uses: ncipollo/release-action@58ae73b360456532aafd58ee170c045abbeaee37 # v1.10.0 | |
with: | |
artifacts: bin/release/* | |
generateReleaseNotes: true | |
draft: true | |
token: ${{ secrets.GITHUB_TOKEN }} |