Repository navigation
Workflow #5
This file contains hidden or 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: Go Build and Release | |
| on: | |
| push: | |
| branches: [ "main" ] | |
| tags: | |
| - 'v*' | |
| pull_request: | |
| branches: [ "main" ] | |
| jobs: | |
| build: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| go-version: ['1.25'] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: ${{ matrix.go-version }} | |
| - name: Build | |
| shell: bash | |
| run: | | |
| echo "Building project for ${{ matrix.os }}" | |
| if [ "${{ matrix.os }}" == "windows-latest" ]; then | |
| go build -o nm-decryptor.exe ./... | |
| else | |
| go build -o nm-decryptor ./... | |
| fi | |
| - name: Test | |
| run: go test -v ./... | |
| - name: Upload Artifact | |
| uses: actions/upload-artifact@v4 # FIXED: Updated from v3 to v4 | |
| with: | |
| name: nm-decryptor-${{ matrix.os }} | |
| path: | | |
| nm-decryptor* | |
| release: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| if: startsWith(github.ref, 'refs/tags/') | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Download Artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: release-assets | |
| - name: Create and Upload GitHub Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| tag_name: ${{ github.ref_name }} | |
| files: release-assets/**/* | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |