outaout: fix dangeours truncating memsize to 32bit #389
Workflow file for this run
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: NASM CI/CD | |
| on: | |
| push: | |
| branches: [ "*" ] | |
| pull_request: | |
| branches: [ "*" ] | |
| jobs: | |
| build: | |
| name: Build and test | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ubuntu:24.04 | |
| steps: | |
| - name: Install dependencies | |
| run: | | |
| apt-get update && apt-get install -y automake perl python3 build-essential | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Prepare build system | |
| run: | | |
| sh autogen.sh | |
| sh configure | |
| - name: Build | |
| run: | | |
| make | |
| ./nasm --version | |
| - name: Run travis tests | |
| run: | | |
| make travis | |
| - name: Upload travis.log | |
| if: always() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: travis-log | |
| path: travis.log | |
| if-no-files-found: warn | |
| build-msvc: | |
| name: Build with MSVC (Windows) | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Set up MSVC developer environment | |
| # step-security/msvc-dev-cmd is a StepSecurity-maintained, | |
| # actively updated (Node 24) drop-in replacement for | |
| # ilammy/msvc-dev-cmd@v1, which is Node 20 and has no newer | |
| # release addressing that. | |
| uses: step-security/msvc-dev-cmd@v1 | |
| with: | |
| arch: x64 | |
| - name: Install NSIS | |
| # Needed to build the Windows installer (nsis/nasm.nsi) via the | |
| # "nsis" nmake target below. Not preinstalled on windows-latest. | |
| # choco updates the machine PATH, but that doesn't propagate to | |
| # the already-running Actions Runner process (and thus not to | |
| # later steps), so add makensis's directory to $GITHUB_PATH | |
| # explicitly. | |
| run: | | |
| choco install nsis --no-progress -y | |
| Get-Item "${env:ProgramFiles(x86)}\NSIS", "$env:ProgramFiles\NSIS" -ErrorAction SilentlyContinue | | |
| Select-Object -First 1 -ExpandProperty FullName | | |
| Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
| - name: Install Perl CPAN modules for doc build | |
| # doc/genps.pl's font-metrics computation needs Font::TTF, and | |
| # the wider doc toolchain needs a handful of other non-core | |
| # CPAN modules; see doc/perlbreq.src (generated from | |
| # doc/source.src's requirements list by tools/genperlbreq.pl) | |
| # for the authoritative list. windows-latest ships Strawberry | |
| # Perl, which bundles cpanm. | |
| shell: cmd | |
| run: cpanm --notest Font::TTF JSON Sort::Versions Compress::Zlib Win32::TieRegistry | |
| - name: Install Ghostscript and doc-build fonts | |
| # nasmdoc.pdf (packaged into the installer) is built via | |
| # doc/pspdf.pl, which shells out to Ghostscript, and | |
| # doc/genps.pl, which needs the Roboto and Roboto Mono font | |
| # files to compute glyph metrics (see doc/source.src, "Optional | |
| # Build Tools"). Neither is preinstalled on windows-latest. | |
| # | |
| # Font versions match what Fedora's google-roboto-fonts (from | |
| # github.com/google/roboto, release v2.138) and | |
| # google-roboto-mono-fonts (from github.com/googlefonts/RobotoMono) | |
| # packages ship, which is known-good: only Bold/BoldItalic/ | |
| # Italic/Regular of Roboto and Bold/Medium/Regular of Roboto | |
| # Mono are actually used by doc/psfonts.ph. Dropping the .ttf | |
| # files straight into %windir%\Fonts is sufficient: findfont.ph | |
| # falls back to scanning that directory directly and identifies | |
| # faces from each file's own name table, no font-registration | |
| # step required. | |
| shell: pwsh | |
| run: | | |
| choco install ghostscript --no-progress -y | |
| $fontsDir = "$env:windir\Fonts" | |
| Invoke-WebRequest -Uri "https://github.com/google/roboto/releases/download/v2.138/roboto-unhinted.zip" -OutFile roboto.zip | |
| Expand-Archive -Path roboto.zip -DestinationPath roboto-unhinted | |
| foreach ($f in "Regular", "Bold", "Italic", "BoldItalic") { | |
| Copy-Item "roboto-unhinted\Roboto-$f.ttf" $fontsDir | |
| } | |
| foreach ($f in "Regular", "Bold", "Medium") { | |
| Invoke-WebRequest -Uri "https://raw.githubusercontent.com/googlefonts/RobotoMono/main/fonts/ttf/RobotoMono-$f.ttf" -OutFile "$fontsDir\RobotoMono-$f.ttf" | |
| } | |
| - name: Build with nmake/cl.exe | |
| shell: cmd | |
| run: | | |
| nmake /f Mkfiles\msvc.mak | |
| - name: Smoke-test the resulting binaries | |
| shell: cmd | |
| run: | | |
| nasm.exe --version | |
| ndisasm.exe --version | |
| echo mov eax, 1 > smoke.asm | |
| echo ret >> smoke.asm | |
| nasm.exe -f bin smoke.asm -o smoke.bin | |
| ndisasm.exe -b 64 smoke.bin | |
| nasm.exe -f win64 smoke.asm -o smoke.obj | |
| - name: Build documentation and NSIS installer | |
| shell: cmd | |
| run: | | |
| nmake /f Mkfiles\msvc.mak docs | |
| nmake /f Mkfiles\msvc.mak nsis | |
| - name: Upload installer artifact | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: nasm-windows-installer | |
| path: nasm-*-installer-*.exe | |
| if-no-files-found: error |