Nmap #3
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: Nmap | |
on: | |
workflow_dispatch | |
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@v2 | |
- 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@v2 | |
with: | |
name: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL }} | |
path: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL_PATH }} | |
- name: Upload zip | |
uses: actions/upload-artifact@v2 | |
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@v2 | |
- 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@v2 | |
with: | |
name: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL }} | |
path: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL_PATH }} | |
- name: Upload zip | |
uses: actions/upload-artifact@v2 | |
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@v2 | |
- 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@v2 | |
with: | |
name: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL }} | |
path: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL_PATH }} | |
- name: Upload zip | |
uses: actions/upload-artifact@v2 | |
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@v2 | |
- 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@v2 | |
with: | |
name: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL }} | |
path: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL_PATH }} | |
- name: Upload zip | |
uses: actions/upload-artifact@v2 | |
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] | |
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 "nmap-v${{ needs.build-x86.outputs.version }}" >/dev/null;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: Create Release | |
uses: ncipollo/release-action@v1 | |
if: ${{ steps.tag_release.outputs.NEW_RELEASE == 'true' }} | |
with: | |
name: Nmap v${{ needs.build-x86.outputs.version }} | |
tag: nmap-v${{ needs.build-x86.outputs.version }} | |
artifacts: "/tmp/releases/*/*" | |
token: ${{ secrets.GITHUB_TOKEN }} |