Repository navigation
Builds and releases
English · Português (Brasil) · English home
The workflows follow the manual Create Release pattern used by omp-cef. Only Windows x86 is currently supported by omp-drip.
Build and Test runs on pushes to main, pull requests and manual runs.
It runs the Node.js tests, compiles the Pawn API check with sampctl and open.mp,
builds the DLL and ASI in Release configuration,
runs native tests with assertions enabled, checks PE architecture, and uploads
downloadable release assets as a workflow artifact for 14 days.
The build uses a Windows 2022 runner, Node.js 24 and the existing native bootstrap/build scripts. It does not need GTA files or additional secrets.
Once these files are pushed to the repository's default branch:
- Open Actions > Create Release > Run workflow.
- Select the branch or tag to build and enter a version such as
1.0.0without thevprefix. - Wait for validation, build, tests and packaging. The workflow publishes
release
v1.0.0and attaches the tested assets.
Alternatively, push a stable version tag:
git tag v1.0.0
git push origin v1.0.0Both paths build the selected revision and publish those exact artifacts.
Manual runs create the tag at the built commit if it does not exist. An
existing tag must match that commit. Versions must use x.y.z with no leading
zeroes; published versions are never overwritten. Failed uploads leave a draft
that can be retried using the same revision and version.
The release job alone has contents: write; build jobs and pull requests have
read-only repository access. GitHub's automatic GITHUB_TOKEN is used, so no
personal token is needed. Repository or organization policies must allow
Actions to publish releases. The workflow generates release notes and publishes
only after asset upload finishes, using the GitHub CLI release commands.
The release contains versioned Windows x86 server/client ZIPs, the DLL, ASI,
Pawn include and a checksum file. The server archive has the open.mp
components/ layout. These are generic binaries: GTA assets and local
catalogs are never part of the CI build or release assets.
The checked-in src/generated/manifest.hpp must remain unconfigured for public
builds. That component runs in development mode. For an enforced client package,
generate your catalog, package the exact client files and rebuild the server
with the generated manifest as described in the README.
To create the same release packages locally after building:
./scripts/bootstrap-native.ps1
./scripts/build.ps1 -Configuration Release -Version 1.0.0
./scripts/package-release.ps1 -Version 1.0.0Use the release workflow to select the component's reported version; changing only an archive's filename does not change the version inside the component.