diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..0e3554a7 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,72 @@ +name: WELA Release Automation + +on: + workflow_dispatch: + inputs: + release_ver: + required: true + default: "1.0.0" + description: "Version of the release" + branch_or_tag: + required: true + default: "main" + description: "Branch or Tag to checkout" +jobs: + upload: + runs-on: ${{ matrix.info.os }} + strategy: + matrix: + info: + - { os: "windows-latest" } + - { os: "macos-latest" } + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + ref: ${{ github.event.inputs.branch_or_tag }} + submodules: 'true' + + - name: Package and Zip - Windows + if: contains(matrix.info.os, 'windows') == true + shell: pwsh + run: | + mkdir -p release-binaries + Copy-Item -Path WELA.ps1 -Destination release-binaries/ + Copy-Item -Recurse -Path ./config -Destination release-binaries/ + + - name: Set Artifact Name + if: contains(matrix.info.os, 'windows') == true + id: set_artifact_name + shell: bash + run: | + echo "artifact_name=wela-${{ github.event.inputs.release_ver }}" >> $GITHUB_OUTPUT ;; + + - name: Upload Artifacts + if: contains(matrix.info.os, 'windows') == true + uses: actions/upload-artifact@v4 + with: + name: ${{ steps.set_artifact_name.outputs.artifact_name }} + path: release-binaries/* + + - name: Setup node + if: matrix.info.os == 'macos-latest' + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Create PDF + if: matrix.info.os == 'macos-latest' + run: | + npm i -g md-to-pdf + md-to-pdf ./*.md --md-file-encoding utf-8 + mv ./README.pdf ./README-${{ github.event.inputs.release_ver }}-English.pdf + mv ./README-Japanese.pdf ./README-${{ github.event.inputs.release_ver }}-Japanese.pdf + + - name: Upload Document Artifacts + if: matrix.info.os == 'macos-latest' + uses: actions/upload-artifact@v4 + with: + name: wela-documents + path: | + ./*.pdf \ No newline at end of file diff --git a/README-Japanese.md b/README-Japanese.md new file mode 100644 index 00000000..23291425 --- /dev/null +++ b/README-Japanese.md @@ -0,0 +1,2 @@ +# WELA +Windows Event Log Auditor diff --git a/WELA.ps1 b/WELA.ps1 index 35ac0e9a..3dc9ba09 100644 --- a/WELA.ps1 +++ b/WELA.ps1 @@ -5027,10 +5027,10 @@ $logo = @" $help = @" Usage: - ./WELA.ps1 -Cmd audit-settings -Baseline YamatoSecurity # Audit current setting and show in stdout, save to csv - ./WELA.ps1 -Cmd audit-settings -Baseline ASD -OutType gui # Audit current setting and show in gui, save to csv - ./WELA.ps1 -Cmd audit-filesize -Baseline YamatoSecurity # Audit current file size and show in stdout, save to csv - ./WELA.ps1 -Cmd update-rules # Update rule config files from https://github.com/Yamato-Security/WELA + ./WELA.ps1 audit-settings -Baseline YamatoSecurity # Audit current setting and show in stdout, save to csv + ./WELA.ps1 audit-settings -Baseline ASD -OutType gui # Audit current setting and show in gui, save to csv + ./WELA.ps1 audit-filesize -Baseline YamatoSecurity # Audit current file size and show in stdout, save to csv + ./WELA.ps1 update-rules # Update rule config files from https://github.com/Yamato-Security/WELA ./WELA.ps1 help # Show this help "@