diff --git a/.github/workflows/_test_bare_metal.yml b/.github/workflows/_test_bare_metal.yml index df24d6a..c61ae61 100644 --- a/.github/workflows/_test_bare_metal.yml +++ b/.github/workflows/_test_bare_metal.yml @@ -8,12 +8,12 @@ jobs: fail-fast: false matrix: runs-on: [ macos-15, macos-14, macos-13, ubuntu-24.04, ubuntu-22.04, ubuntu-20.04, windows-latest, arm-4core-linux ] - go-version: [ '1.23', '1.22' ] + go-version: [ stable, oldstable ] include: # Test with DD_APPSEC_WAF_LOG_LEVEL (only latest go version) - - go-version: '1.22' + - go-version: oldstable waf-log-level: TRACE - name: ${{ matrix.runs-on }} go${{ matrix.go-version }}${{ matrix.waf-log-level && format(' (DD_APPSEC_WAF_LOG_LEVEL={0})', matrix.waf-log-level) || '' }} + name: ${{ matrix.runs-on }} ${{ matrix.go-version }}${{ matrix.waf-log-level && format(' (DD_APPSEC_WAF_LOG_LEVEL={0})', matrix.waf-log-level) || '' }} runs-on: ${{ matrix.runs-on }} steps: - uses: actions/checkout@v4 @@ -21,6 +21,7 @@ jobs: with: go-version: ${{ matrix.go-version }} cache: true + cache-dependency-path: "**/go.mod" # ARM runners (at least during early access) don't have GCC installed - if: matrix.runs-on == 'arm-4core-linux' name: Install build requirements (ARM only) diff --git a/.github/workflows/_test_containerized.yml b/.github/workflows/_test_containerized.yml index 8f3e30f..1385a26 100644 --- a/.github/workflows/_test_containerized.yml +++ b/.github/workflows/_test_containerized.yml @@ -3,7 +3,25 @@ on: workflow_call: # This is called by test.yml jobs: + go-versions: + runs-on: ubuntu-latest + outputs: + stable: ${{ steps.stable.outputs.go-version }} + oldstable: ${{ steps.oldstable.outputs.go-version }} + steps: + - uses: actions/setup-go@v5 + id: oldstable + with: + go-version: 'oldstable' + cache: false + - uses: actions/setup-go@v5 + id: stable + with: + go-version: 'stable' + cache: false + test: + needs: [go-versions] strategy: fail-fast: false matrix: @@ -16,17 +34,19 @@ jobs: # RPM-based image - amazonlinux:2 # pretty popular on AWS workloads - amazonlinux:2023 - go-version: [ "1.23", "1.22" ] + go-version: + - ${{ needs.go-versions.outputs.stable }} + - ${{ needs.go-versions.outputs.oldstable }} include: # Test with DD_APPSEC_WAF_LOG_LEVEL (only latest go, without any particular tag) - - go-version: '1.23' + - go-version: ${{ needs.go-versions.outputs.stable }} waf-log-level: TRACE exclude: # The amazonlinux:2 variant is only relevant for the default go version yum ships (currently 1.22) - - go-version: '1.23' + - go-version: ${{ needs.go-versions.outputs.stable }} image: amazonlinux:2 # The amazonlinux:2023 variant is only relevant for the default go version yum ships (currently 1.22) - - go-version: '1.23' + - go-version: ${{ needs.go-versions.outputs.stable }} image: amazonlinux:2023 name: ${{ matrix.arch }} ${{ format(matrix.image, matrix.go-version) }} go${{ matrix.go-version }}${{ matrix.waf-log-level && format(' (DD_APPSEC_WAF_LOG_LEVEL={0})', matrix.waf-log-level) || '' }} # We use ARM runners when needed to avoid the performance hit of QEMU @@ -51,7 +71,7 @@ jobs: - uses: actions/cache@v4 with: path: ~/go/pkg/mod - key: go-pkg-mod-${{ hashFiles('**/go.sum') }} + key: go-pkg-mod-${{ hashFiles('**/go.mod') }} restore-keys: go-pkg-mod- - name: Create container id: container diff --git a/internal/lib/.version b/internal/lib/.version index 1acb46a..80a81c0 100644 --- a/internal/lib/.version +++ b/internal/lib/.version @@ -1 +1 @@ -1.20.1 \ No newline at end of file +1.22.0 \ No newline at end of file diff --git a/internal/lib/libddwaf-darwin-amd64.dylib.gz b/internal/lib/libddwaf-darwin-amd64.dylib.gz index 8c8a5bd..ce8dc66 100755 Binary files a/internal/lib/libddwaf-darwin-amd64.dylib.gz and b/internal/lib/libddwaf-darwin-amd64.dylib.gz differ diff --git a/internal/lib/libddwaf-darwin-arm64.dylib.gz b/internal/lib/libddwaf-darwin-arm64.dylib.gz index eb3ce10..d600fea 100755 Binary files a/internal/lib/libddwaf-darwin-arm64.dylib.gz and b/internal/lib/libddwaf-darwin-arm64.dylib.gz differ diff --git a/internal/lib/libddwaf-linux-amd64.so.gz b/internal/lib/libddwaf-linux-amd64.so.gz index 4dd8d5f..e535221 100755 Binary files a/internal/lib/libddwaf-linux-amd64.so.gz and b/internal/lib/libddwaf-linux-amd64.so.gz differ diff --git a/internal/lib/libddwaf-linux-arm64.so.gz b/internal/lib/libddwaf-linux-arm64.so.gz index 15c9948..b0d8b51 100755 Binary files a/internal/lib/libddwaf-linux-arm64.so.gz and b/internal/lib/libddwaf-linux-arm64.so.gz differ diff --git a/internal/log/ddwaf.h b/internal/log/ddwaf.h index b23be0e..b71c72a 100644 --- a/internal/log/ddwaf.h +++ b/internal/log/ddwaf.h @@ -312,7 +312,7 @@ ddwaf_context ddwaf_context_init(const ddwaf_handle handle); * @param result Structure containing the result of the operation. (nullable) * @param timeout Maximum time budget in microseconds. * - * @return Return code of the operation, also contained in the result structure. + * @return Return code of the operation. * @error DDWAF_ERR_INVALID_ARGUMENT The context is invalid, the data will not * be freed. * @error DDWAF_ERR_INVALID_OBJECT The data provided didn't match the desired