This repository has been archived by the owner on Jul 8, 2024. It is now read-only.
⚙️ Build TCPDump 📦 #243
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 TCPDump 📦 | |
#MAX_RUNTIME: | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: "15 18 * * *" # 12:00 AM Nepal Time Midnight EveryDay | |
env: | |
GITHUB_TOKEN: ${{ secrets.STATIC_TOOLBOX }} | |
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@v4 | |
- 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@v4 | |
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@v4 | |
- 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@v4 | |
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@v4 | |
- 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@v4 | |
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@v4 | |
- 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@v4 | |
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] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Prepare Environment | |
run: mkdir /tmp/releases | |
- name: Download Artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
path: /tmp/releases | |
- name: List Artifacts | |
run: ls -laR /tmp/releases | |
- name: 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: Releaser | |
uses: softprops/action-gh-release@v0.1.15 | |
#if: ${{ steps.tag_release.outputs.NEW_RELEASE == 'true' }} | |
with: | |
name: "TCPDump v${{ needs.build-x86.outputs.version }}" | |
tag_name: "tcpdump-v${{ needs.build-x86.outputs.version }}" | |
prerelease: false | |
draft: false | |
generate_release_notes: false | |
token: "${{ secrets.GITHUB_TOKEN }}" | |
body: | | |
`Changelog`: _https://git.tcpdump.org/tcpdump/blob/HEAD:/CHANGES_ | |
`Install`: _https://github.com/Azathothas/static-toolbox/blob/master/README.md#tcpdump_ | |
files: | | |
/tmp/releases/*/* | |
#------------------------------------------------------------------------------------# |