Skip to content

Conversation

@diogomatsubara
Copy link

Summary

Replaces Jenkins 'Downloads - update latest' job with GitHub Actions workflow.

Changes

  • New workflow: .github/workflows/update-latest-downloads.yml
  • Accepts version parameter via workflow_dispatch
  • Creates symlinks from latest/ → version directories on download.eclipse.org
  • Includes dry-run option to verify credentials without modifying files
  • Updated README with setup instructions and usage examples

Implementation Details

  • Connects to projects-storage.eclipse.org via SSH as genie.zenoh
  • Scans for all zenoh-z*/version/ directories
  • Creates force symlinks: ln -sfr (space-efficient approach)
  • Dry-run mode lists what would be created without making changes
  • Verification step confirms all symlinks are correctly established

Secrets Required

  • SSH_PRIVATE_KEY: ED25519 key for genie.zenoh authentication
  • SSH_PASSPHRASE: Key passphrase (if encrypted)

Usage

  1. Go to Actions → Update latest downloads on download.eclipse.org
  2. Click 'Run workflow'
  3. Enter version (e.g., 1.7.2)
  4. Optionally check 'dry-run' to test credentials first
  5. Click 'Run workflow'

Testing

  • Dry-run mode verifies SSH connection works
  • Prints symlink targets for verification
  • Handles missing version directories gracefully

- New GitHub Actions workflow to replace Jenkins 'Downloads - update latest' job
- Accepts version parameter via workflow_dispatch
- Uses SSH/SCP to connect to projects-storage.eclipse.org via genie.zenoh user
- Copies all zenoh-z*/version/* to zenoh-z*/latest/ for specified version
- Includes verification and error handling
- Requires SSH_PRIVATE_KEY and SSH_PASSPHRASE secrets
- See README for setup instructions
- Add 'dry-run' boolean input parameter
- In dry-run mode: verify SSH connection and list files that would be copied
- In live mode: actually copy files to latest directories
- Dry-run useful for testing credentials without modifying production
- Updated README with dry-run usage instructions
- Changed from cp -r (file copy) to ln -sfr (symlinks)
- More space-efficient: 'latest' symlinks directly to version directory
- Faster: only symlink creation instead of copying large file trees
- Verification step now checks symlink targets instead of file counts
- Dry-run shows what symlinks would be created
- Updated README documentation
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.

2 participants