tcpdump #12
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: tcpdump | |
on: | |
workflow_dispatch | |
jobs: | |
build-x86: | |
name: Build tcpdump x86 | |
runs-on: ubuntu-latest | |
container: muslcc/x86_64:i686-linux-musl | |
outputs: | |
version: ${{ steps.build_tcpdump.outputs.PACKAGED_VERSION }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install dependencies | |
run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh | |
- name: Build tcpdump | |
id: build_tcpdump | |
run: $GITHUB_WORKSPACE/build/targets/build_tcpdump.sh x86 | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ steps.build_tcpdump.outputs.PACKAGED_NAME }} | |
path: ${{ steps.build_tcpdump.outputs.PACKAGED_NAME_PATH }} | |
build-x86_64: | |
name: Build tcpdump x86_64 | |
runs-on: ubuntu-latest | |
container: muslcc/x86_64:x86_64-linux-musl | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install dependencies | |
run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh | |
- name: Build tcpdump | |
id: build_tcpdump | |
run: $GITHUB_WORKSPACE/build/targets/build_tcpdump.sh x86_64 | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ steps.build_tcpdump.outputs.PACKAGED_NAME }} | |
path: ${{ steps.build_tcpdump.outputs.PACKAGED_NAME_PATH }} | |
build-armhf: | |
name: Build tcpdump ARMHF | |
runs-on: ubuntu-latest | |
container: muslcc/x86_64:arm-linux-musleabihf | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install dependencies | |
run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh | |
- name: Build tcpdump | |
id: build_tcpdump | |
run: $GITHUB_WORKSPACE/build/targets/build_tcpdump.sh armhf | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ steps.build_tcpdump.outputs.PACKAGED_NAME }} | |
path: ${{ steps.build_tcpdump.outputs.PACKAGED_NAME_PATH }} | |
build-aarch64: | |
name: Build tcpdump AARCH64 | |
runs-on: ubuntu-latest | |
container: muslcc/x86_64:aarch64-linux-musl | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install dependencies | |
run: sudo apk update && sudo apk add bash && sudo bash build/install_deps_alpine.sh | |
- name: Build tcpdump | |
id: build_tcpdump | |
run: $GITHUB_WORKSPACE/build/targets/build_tcpdump.sh aarch64 | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ steps.build_tcpdump.outputs.PACKAGED_NAME }} | |
path: ${{ steps.build_tcpdump.outputs.PACKAGED_NAME_PATH }} | |
create-release: | |
name: Create tcpdump Release | |
runs-on: ubuntu-latest | |
needs: [build-x86, build-x86_64, build-armhf, build-aarch64] | |
permissions: | |
contents: write | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Prepare Environment | |
run: mkdir /tmp/releases | |
- name: Download Artifacts | |
uses: actions/download-artifact@v2 | |
with: | |
path: /tmp/releases | |
- name: List Artifacts | |
run: ls -laR /tmp/releases | |
- name: Fetch tags | |
run: git fetch --tags --prune --quiet | |
- name: Tag Release | |
id: tag_release | |
run: | | |
set +e | |
if git rev-list "tcpdump-v${{ needs.build-x86.outputs.version }}" >/dev/null;then | |
echo "Tag for tcpdump-v${{ needs.build-x86.outputs.version }} already exists. Skipping release creation." | |
echo "NEW_RELEASE=false" >> $GITHUB_OUTPUT | |
else | |
git tag "tcpdump-v${{ needs.build-x86.outputs.version }}" | |
git push origin "tcpdump-v${{ needs.build-x86.outputs.version }}" | |
echo "NEW_RELEASE=true" >> $GITHUB_OUTPUT | |
fi | |
- name: Create Release | |
uses: ncipollo/release-action@v1 | |
if: ${{ steps.tag_release.outputs.NEW_RELEASE == 'true' }} | |
with: | |
name: tcpdump-v${{ needs.build-x86.outputs.version }} | |
tag: tcpdump-v${{ needs.build-x86.outputs.version }} | |
artifacts: "/tmp/releases/*/*" | |
token: ${{ secrets.GITHUB_TOKEN }} |