Skip to content

ci: harden PR artifact publishing - #147

Merged
Kirrrusha merged 1 commit into
mainfrom
feat/sec-pipeline
Jul 14, 2026
Merged

ci: harden PR artifact publishing#147
Kirrrusha merged 1 commit into
mainfrom
feat/sec-pipeline

Conversation

@Kirrrusha

Copy link
Copy Markdown
Collaborator

Summary

This MR hardens the PR artifact publishing flow and reduces the permissions required by the main PR workflow.

Changes

  • Make the PR workflow read-only by default.
  • Replace direct artifact publishing from the PR workflow with a separate workflow_run publisher.
  • Upload Chrome, Firefox, and Firefox source archives as GitHub Actions artifacts with SHA-based names.
  • Download and validate those artifacts before publishing tester bundles to the artifacts branch.
  • Add SHA256 checksums and metadata for published tester artifacts.
  • Update upload-artifact and download-artifact action versions.
  • Run the custom license action on Node.js 20.
  • Enable Dependabot updates for GitHub Actions.
  • Use repository variables for FIREFOX_EXTENSION_ID in build validation steps.

Why

The previous PR workflow required write permissions and published artifacts directly during PR checks. Moving publishing to a trusted workflow_run flow keeps the PR workflow safer while preserving downloadable tester builds.

Testing

  • PR workflow builds Chrome and Firefox packages.
  • Build artifacts are uploaded with commit SHA-based names.
  • E2E jobs download the generated artifacts.
  • Build validation checks archive contents and integrity.
  • The artifact publisher validates ZIP files before updating the artifacts branch.
Русское описание

Кратко

Этот MR усиливает безопасность публикации артефактов для PR и уменьшает права, необходимые основному PR workflow.

Изменения

  • Основной PR workflow теперь работает с read-only правами по умолчанию.
  • Прямая публикация артефактов из PR workflow заменена отдельным workflow_run publisher.
  • Chrome, Firefox и Firefox sources архивы загружаются как GitHub Actions artifacts с именами на основе SHA коммита.
  • Перед публикацией tester bundles артефакты скачиваются и валидируются.
  • Для опубликованных tester artifacts добавлены SHA256 checksums и metadata.
  • Обновлены версии upload-artifact и download-artifact.
  • Custom license action переведен на Node.js 20.
  • Добавлены Dependabot updates для GitHub Actions.
  • FIREFOX_EXTENSION_ID используется из repository variables в build validation шагах.

Зачем

Раньше PR workflow требовал write permissions и публиковал артефакты напрямую во время PR checks. Новый workflow_run flow переносит публикацию в доверенный workflow и сохраняет возможность скачивать tester builds.

Проверка

  • PR workflow собирает Chrome и Firefox packages.
  • Build artifacts загружаются с именами на основе commit SHA.
  • E2E jobs скачивают собранные artifacts.
  • Build validation проверяет содержимое и целостность архивов.
  • Artifact publisher валидирует ZIP files перед обновлением ветки artifacts.

@Kirrrusha
Kirrrusha force-pushed the feat/sec-pipeline branch from 2b2c5ab to e72b83f Compare July 14, 2026 11:39
@Kirrrusha
Kirrrusha merged commit 1f854e8 into main Jul 14, 2026
9 checks passed
@Kirrrusha
Kirrrusha deleted the feat/sec-pipeline branch July 14, 2026 11:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant