This repository has been archived by the owner on Jul 8, 2024. It is now read-only.
⚙️ Build Nmap 📦 #248
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 Nmap 📦 | |
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 Nmap x86 | |
runs-on: ubuntu-latest | |
container: muslcc/x86_64:i686-linux-musl | |
outputs: | |
version: ${{ steps.package_nmap.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 Nmap | |
run: $GITHUB_WORKSPACE/build/targets/build_nmap.sh x86 | |
- name: Package Nmap | |
id: package_nmap | |
run: $GITHUB_WORKSPACE/package/targets/nmap/package.sh /output x86 | |
- name: Upload tarball | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL }} | |
path: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL_PATH }} | |
- name: Upload zip | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ steps.package_nmap.outputs.PACKAGED_ZIP }} | |
path: ${{ steps.package_nmap.outputs.PACKAGED_ZIP_PATH }} | |
#------------------------------------------------------------------------------------# | |
build-x86_64: | |
name: Build Nmap 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 Nmap | |
run: $GITHUB_WORKSPACE/build/targets/build_nmap.sh x86_64 | |
- name: Package Nmap | |
id: package_nmap | |
run: $GITHUB_WORKSPACE/package/targets/nmap/package.sh /output x86_64 | |
- name: Upload tarball | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL }} | |
path: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL_PATH }} | |
- name: Upload zip | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ steps.package_nmap.outputs.PACKAGED_ZIP }} | |
path: ${{ steps.package_nmap.outputs.PACKAGED_ZIP_PATH }} | |
#------------------------------------------------------------------------------------# | |
build-armhf: | |
name: Build Nmap 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 Nmap | |
run: $GITHUB_WORKSPACE/build/targets/build_nmap.sh armhf | |
- name: Package Nmap | |
id: package_nmap | |
run: $GITHUB_WORKSPACE/package/targets/nmap/package.sh /output armhf | |
- name: Upload tarball | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL }} | |
path: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL_PATH }} | |
- name: Upload zip | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ steps.package_nmap.outputs.PACKAGED_ZIP }} | |
path: ${{ steps.package_nmap.outputs.PACKAGED_ZIP_PATH }} | |
#------------------------------------------------------------------------------------# | |
build-aarch64: | |
name: Build Nmap 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 Nmap | |
run: $GITHUB_WORKSPACE/build/targets/build_nmap.sh aarch64 | |
- name: Package Nmap | |
id: package_nmap | |
run: $GITHUB_WORKSPACE/package/targets/nmap/package.sh /output aarch64 | |
- name: Upload tarball | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL }} | |
path: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL_PATH }} | |
- name: Upload zip | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ steps.package_nmap.outputs.PACKAGED_ZIP }} | |
path: ${{ steps.package_nmap.outputs.PACKAGED_ZIP_PATH }} | |
#------------------------------------------------------------------------------------# | |
create-release: | |
name: Create Nmap 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 | |
id: tag_release | |
run: | | |
set +e | |
git fetch --quiet --prune --tags | |
if [[ $(git tag -l | grep nmap-v${{ needs.build-x86.outputs.version }} | wc -l) -gt 0 ]]; then | |
echo "Tag for nmap-v${{ needs.build-x86.outputs.version }} already exists. Skipping release creation." | |
echo "NEW_RELEASE=false" >> $GITHUB_OUTPUT | |
else | |
echo "Tag for nmap-v${{ needs.build-x86.outputs.version }} missing. Starting release creation." | |
git tag "nmap-v${{ needs.build-x86.outputs.version }}" | |
git push origin "nmap-v${{ needs.build-x86.outputs.version }}" | |
echo "NEW_RELEASE=true" >> $GITHUB_OUTPUT | |
fi | |
#------------------------------------------------------------------------------------# | |
- name: Releaser | |
uses: softprops/action-gh-release@v0.1.15 | |
with: | |
name: "Nmap v${{ needs.build-x86.outputs.version }}" | |
tag_name: "nmap-v${{ needs.build-x86.outputs.version }}" | |
prerelease: false | |
draft: false | |
generate_release_notes: false | |
token: "${{ secrets.GITHUB_TOKEN }}" | |
body: | | |
`Changelog`: _https://nmap.org/changelog.html_ | |
`Install`: _https://github.com/Azathothas/static-toolbox/blob/master/README.md#nmap_ | |
files: | | |
/tmp/releases/*/* | |
#------------------------------------------------------------------------------------# |