Skip to content

Pin GitHub Actions to commit SHAs - #3339

Merged
navneet1v merged 2 commits into
opensearch-project:mainfrom
Divyaasm:pin-actions-to-sha
Jun 1, 2026
Merged

Pin GitHub Actions to commit SHAs#3339
navneet1v merged 2 commits into
opensearch-project:mainfrom
Divyaasm:pin-actions-to-sha

Conversation

@Divyaasm

Copy link
Copy Markdown
Contributor

Description

Pin all GitHub Action tag references to their corresponding commit SHAs.

Tags are mutable references that can be force-pushed to point to different commits, making them vulnerable to supply chain attacks. Commit SHAs are immutable and guarantee that the exact reviewed code is executed in CI workflows. This change pins all third-party actions to their current commit SHAs to prevent potential tampering.

Signed-off-by: Divya Madala <divyaasm@amazon.com>
@github-actions

github-actions Bot commented May 22, 2026

Copy link
Copy Markdown

PR Code Analyzer ❗

AI-powered 'Code-Diff-Analyzer' found issues on commit ebee17b.

PathLineSeverityDescription
.github/workflows/maven-publish.yml29highDependency change: 1password/load-secrets-action pinned from @v2 to a specific commit SHA. This action handles secrets extraction; the SHA comment claims v2 but cannot be independently verified without checking the upstream repository.
.github/workflows/maven-publish.yml38highDependency change: aws-actions/configure-aws-credentials pinned from @v5 to a specific commit SHA. This action configures AWS credentials for deployment; SHA authenticity must be verified against the upstream repository.
.github/workflows/CI.yml98highDependency change: codecov/codecov-action pinned from @v5 to a specific commit SHA. This action uploads coverage reports using a token secret; SHA must be verified against the upstream repository.
.github/workflows/auto-release.yml16highDependency change: tibdex/github-app-token pinned from @v1.5.0 to a specific commit SHA. This third-party action handles GitHub App private keys and generates tokens; SHA must be verified.
.github/workflows/auto-release.yml22highDependency change: ncipollo/release-action pinned from @v1 to a specific commit SHA. This third-party action creates GitHub releases with a privileged token; SHA must be verified.
.github/workflows/backport.yml23highDependency change: VachaShah/backport pinned from @v1.1.4 to a specific commit SHA. This third-party action uses a GitHub token to create branches; SHA must be verified.
.github/workflows/links.yml15highDependency change: lycheeverse/lychee-action pinned from @master (a mutable branch reference) to a specific commit SHA. The previous reference to @master is particularly risky; SHA authenticity must be verified.
.github/workflows/create-documentation-issue.yml35highDependency change: peter-evans/create-issue-from-file pinned from @v4 to a specific commit SHA. This third-party action creates GitHub issues using a privileged token; SHA must be verified.
.github/workflows/auto-release.yml21highDependency change: dawidd6/action-get-tag pinned from @v1 to a specific commit SHA. This third-party action reads tag information in the release pipeline; SHA must be verified.
.github/workflows/draft-release-notes-workflow.yml14highDependency change: release-drafter/release-drafter pinned from @v5 to a specific commit SHA. This third-party action manages release notes with write permissions; SHA must be verified.

The table above displays the top 10 most important findings.

Total: 10 | Critical: 0 | High: 10 | Medium: 0 | Low: 0


Pull Requests Author(s): Please update your Pull Request according to the report above.

Repository Maintainer(s): You can bypass diff analyzer by adding label skip-diff-analyzer after reviewing the changes carefully, then re-run failed actions. To re-enable the analyzer, remove the label, then re-run all actions.


⚠️ Note: The Code-Diff-Analyzer helps protect against potentially harmful code patterns. Please ensure you have thoroughly reviewed the changes beforehand.

Thanks.

@codecov

codecov Bot commented May 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.51%. Comparing base (11bd374) to head (ebee17b).
⚠️ Report is 8 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #3339      +/-   ##
============================================
- Coverage     83.58%   83.51%   -0.08%     
+ Complexity     4308     4303       -5     
============================================
  Files           451      451              
  Lines         15584    15584              
  Branches       2018     2018              
============================================
- Hits          13026    13015      -11     
- Misses         1770     1779       +9     
- Partials        788      790       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@navneet1v navneet1v added the skip-diff-analyzer Maintainer to skip code-diff-analyzer check, after reviewing issues in AI analysis. label May 31, 2026
@github-actions

Copy link
Copy Markdown

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🧪 No relevant tests
🔒 No security concerns identified
✅ No TODO sections
🔀 No multiple PR themes
⚡ Recommended focus areas for review

Version Mismatch

Line 23 pins actions/checkout to SHA de0fac2e4500dabe0009e67214ff5f5447ce83dd with comment # v6, but lines 62, 117, and 160 pin the same action to SHA 34e114876b0b11c390a56381ad16ebd13914f8d5 with comment # v4. If all instances should use v6 as stated in line 23, the other three are pinned to an outdated v4 SHA. This inconsistency means different jobs may run different action versions, potentially causing unexpected behavior or missing v6 features/fixes.

- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
Outdated Action

Lines 57, 143 pin actions/checkout to SHA 50fbc622fc4ef5163becd7fab6573eac35f8462e (v1) and lines 66, 152 pin actions/setup-java to SHA b6e674f4b717d7b0ae3baee0fbe79f498905dfde (v1). These are extremely old versions from 2019-2020. Using such outdated actions exposes the workflow to known bugs and security issues fixed in later releases. For example, v1 of checkout lacks modern features like submodule support improvements and security patches.

  uses: actions/checkout@50fbc622fc4ef5163becd7fab6573eac35f8462e # v1

# Setup git user so that patches for native libraries can be applied and committed
- name: Setup git user
  run: |
    git config --global user.name "github-actions[bot]"
    git config --global user.email "github-actions[bot]@users.noreply.github.com"

- name: Setup Java ${{ matrix.java }}
  uses: actions/setup-java@b6e674f4b717d7b0ae3baee0fbe79f498905dfde # v1

@navneet1v
navneet1v merged commit 189b5fd into opensearch-project:main Jun 1, 2026
58 of 64 checks passed
naveentatikonda pushed a commit that referenced this pull request Jun 18, 2026
* Enhance unit test coverage for 32x defaults

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

* Add BwC test coverage (#3329)

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>

* Add base64 binary encoding as default format for knn_vector docvalue_fields (#3324)

Signed-off-by: Navneet Verma <navneev@amazon.com>

* Add issues write permission to untriaged label workflow (#3332)

Signed-off-by: shreyah963 <shreyab963@gmail.com>

* Fix score to radius conversion for IP with faiss (#3336)

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>
Co-authored-by: Tejas Shah <shatejas@amazon.com>

* Add ci.opensearch.org maven2 mirror to avoid throttling (#3345)

Signed-off-by: Sayali Gaikawad <gaiksaya@amazon.com>

* [AUTO] Add release notes for 3.7.0 (#3342)

Signed-off-by: opensearch-ci-bot <opensearch-infra@amazon.com>

* Fix derived source for mixed-case vector fields (#3313)

* Fix derived source for mixed-case vector fields

Signed-off-by: Wonjae Lee <wonjae.lee@dremio.com>

* Add BWC coverage for derived source field casing

Signed-off-by: Wonjae Lee <wonjae.lee@dremio.com>

* Add changelog entry for mixed-case derived source fix

Signed-off-by: Wonjae Lee <wonjae.lee@dremio.com>

* Handle case-insensitive conflicts by preferring vector field

Signed-off-by: Wonjae Lee <wonjae.lee@dremio.com>

* Avoid stream wrappers for derived field lookup

Signed-off-by: Wonjae Lee <wonjae.lee@dremio.com>

* Handle ambiguous case-insensitive matches without vector hints

Signed-off-by: Wonjae Lee <wonjae.lee@dremio.com>

* Update src/main/java/org/opensearch/knn/index/codec/KNN10010Codec/KNN10010DerivedSourceStoredFieldsFormat.java

Co-authored-by: Tejas Shah <shatejas@amazon.com>
Signed-off-by: Wonjae Lee <38933452+leewjae@users.noreply.github.com>

* Apply spotless formatting for derived source field resolution

Signed-off-by: Wonjae Lee <wonjae.lee@dremio.com>

* Avoid guessing when case-insensitive matches lack vector hints

Signed-off-by: Wonjae Lee <wonjae.lee@dremio.com>

* Simplify case-insensitive derived field matching

Signed-off-by: Wonjae Lee <wonjae.lee@dremio.com>

* Trigger CI rerun for BWC investigation

Signed-off-by: Wonjae Lee <wonjae.lee@dremio.com>

* Add native engine field info coverage

Signed-off-by: Wonjae Lee <wonjae.lee@dremio.com>

---------

Signed-off-by: Wonjae Lee <wonjae.lee@dremio.com>
Signed-off-by: Wonjae Lee <38933452+leewjae@users.noreply.github.com>
Signed-off-by: Tejas Shah <shatejas@amazon.com>
Co-authored-by: Tejas Shah <shatejas@amazon.com>
Co-authored-by: Navneet Verma <navneev@amazon.com>

* Fixes RescoreParser to pass the rescore flag (#3343)

* Fixes RescoreParser to pass the rescore flag

For multinode or coordinator-data node setup, rescore set to false is
not passed through streams. This causes rescoring to execute even when
its not disabled explicitly by user

Signed-off-by: Tejas Shah <shatejas@amazon.com>

* Updates Changelogs, improves code cov

Signed-off-by: Tejas Shah <shatejas@amazon.com>

* Makes the coordinator port dynamic

Signed-off-by: Tejas Shah <shatejas@amazon.com>

* Adds BWC test for mode and compression

Signed-off-by: Tejas Shah <shatejas@amazon.com>

* Does not create compressed indices before 2.18

Signed-off-by: Tejas Shah <shatejas@amazon.com>

* Fixes bwc

Signed-off-by: Tejas Shah <shatejas@amazon.com>

---------

Signed-off-by: Tejas Shah <shatejas@amazon.com>

* Merge rescore-radial-quantized feature branch to main (#3347)

* Rescoring after radial search on quantized index. [Task 1 - 4] (#3300)

* Bumped gradle to 9.4.1 and jacoco to 0.8.14 (#3308)

Signed-off-by: Andrew Klepchick <aklepchi@amazon.com>

* Use KNN1040ScalarQuantizedVectorsFormat for Faiss SQ flat format (#3302)

The Faiss SQ format was using Lucene's Lucene104ScalarQuantizedVectorsFormat
directly, which lacks the prefetch-enabled raw vector reader that
KNN1040ScalarQuantizedVectorsFormat provides. This meant exact search
rescoring was missing I/O prefetch during graph traversal.

Changes:
- Switch faissSqFlatFormat from Lucene104ScalarQuantizedVectorsFormat to
  KNN1040ScalarQuantizedVectorsFormat in Faiss1040ScalarQuantizedKnnVectorsFormat
- Add @VisibleForTesting getFlatVectorsReader() to
  Faiss1040ScalarQuantizedKnnVectorsReader to replace reflection in tests
- Add testGetRandomVectorScorer_returnsPrefetchableScorer in
  KNN1040ScalarQuantizedVectorsFormatTests verifying the scorer is
  PrefetchableRandomVectorScorer via a real write/read cycle
- Replace reflection with getter in
  Faiss1040ScalarQuantizedKnnVectorsFormatTests.testFieldsReader_thenWrapsFlatReaderWithPrefetchSupport

Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>

* Allow minScore, maxDistance for 32x SQ index.

Signed-off-by: Dooyong Kim <kdooyong@amazon.com>

Pass compression and quantization config to RNN query builder.

Signed-off-by: Dooyong Kim <kdooyong@amazon.com>

Added RescoreRadialSearchQuery.

Signed-off-by: Dooyong Kim <kdooyong@amazon.com>

Wiring `RescoreRadialSearchQuery` wrapper in `RNNQueryFactory`

Signed-off-by: Dooyong Kim <kdooyong@amazon.com>

---------

Signed-off-by: Andrew Klepchick <aklepchi@amazon.com>
Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>
Signed-off-by: Dooyong Kim <kdooyong@amazon.com>
Co-authored-by: Andrew Klepchick <aklepchi@amazon.com>
Co-authored-by: Vijayan Balasubramanian <balasvij@amazon.com>

* Rescore radial search quantized complete (#3337)

* Added exact search logic after radial.

Signed-off-by: Dooyong Kim <kdooyong@amazon.com>

* Adding 2nd rescoring after radial search on quantized index.

Signed-off-by: Dooyong Kim <kdooyong@amazon.com>

---------

Signed-off-by: Dooyong Kim <kdooyong@amazon.com>

* Update changelog

Signed-off-by: Dooyong Kim <kdooyong@amazon.com>

---------

Signed-off-by: Andrew Klepchick <aklepchi@amazon.com>
Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>
Signed-off-by: Dooyong Kim <kdooyong@amazon.com>
Co-authored-by: Andrew Klepchick <aklepchi@amazon.com>
Co-authored-by: Vijayan Balasubramanian <balasvij@amazon.com>

* Add support for binary and byte field support in doc_values (#3340)

Signed-off-by: Navneet Verma <navneev@amazon.com>

* Pin GitHub Actions to commit SHAs (#3339)

Signed-off-by: Divya Madala <divyaasm@amazon.com>
Co-authored-by: Tejas Shah <shatejas@amazon.com>

* Turn off ACORN for MOS (#3346)

Signed-off-by: Andrew Klepchick <aklepchi@amazon.com>

* Add base64 encoded vector indexing support for knn_vector fields (#3350)

Vectors can now be indexed as base64-encoded strings in addition to JSON
arrays. Float vectors use little-endian byte encoding (symmetric with
the doc_values binary output format), while byte/binary vectors use raw
byte encoding. This enables efficient bulk ingestion pipelines that
avoid JSON array serialization overhead.

Signed-off-by: Navneet Verma <navneev@amazon.com>

* Made MemoryOptimizedSearchWarmup skip MemoryOptimizedSearchOldIndicesNotSupportedException. (#3344)

Signed-off-by: Dooyong Kim <kdooyong@amazon.com>
Signed-off-by: Doo Yong Kim <kdooyong@amazon.com>

* Integrated proper ef_search functionality into MOS and Lucene with oversample_factor (#3331)

* Check to see if Lucene's search budget has exhausted when deciding to exact search (#3354)

* Update opensearch-build workflow references from commit SHA to main (#3363)

Signed-off-by: Divya Madala <divyaasm@amazon.com>

* Pinned the commit for tj-actions/changed-files for version v47.0.0 (#3367)

Signed-off-by: Navneet Verma <navneev@amazon.com>

---------

Signed-off-by: Kunal Kotwani <kkotwani@amazon.com>
Signed-off-by: Navneet Verma <navneev@amazon.com>
Signed-off-by: shreyah963 <shreyab963@gmail.com>
Signed-off-by: Sayali Gaikawad <gaiksaya@amazon.com>
Signed-off-by: opensearch-ci-bot <opensearch-infra@amazon.com>
Signed-off-by: Wonjae Lee <wonjae.lee@dremio.com>
Signed-off-by: Wonjae Lee <38933452+leewjae@users.noreply.github.com>
Signed-off-by: Tejas Shah <shatejas@amazon.com>
Signed-off-by: Andrew Klepchick <aklepchi@amazon.com>
Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>
Signed-off-by: Dooyong Kim <kdooyong@amazon.com>
Signed-off-by: Divya Madala <divyaasm@amazon.com>
Signed-off-by: Doo Yong Kim <kdooyong@amazon.com>
Co-authored-by: Navneet Verma <navneev@amazon.com>
Co-authored-by: Shreya Bhatta <shreyab963@gmail.com>
Co-authored-by: Tejas Shah <shatejas@amazon.com>
Co-authored-by: Sayali Gaikawad <gaiksaya@amazon.com>
Co-authored-by: opensearch-ci <83309141+opensearch-ci-bot@users.noreply.github.com>
Co-authored-by: Wonjae Lee <38933452+leewjae@users.noreply.github.com>
Co-authored-by: Doo Yong Kim <kdooyong@amazon.com>
Co-authored-by: Andrew Klepchick <aklepchi@amazon.com>
Co-authored-by: Vijayan Balasubramanian <balasvij@amazon.com>
Co-authored-by: Divya Madala <113469545+Divyaasm@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport 3.7 skip-changelog skip-diff-analyzer Maintainer to skip code-diff-analyzer check, after reviewing issues in AI analysis.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants