Skip to content

About

πŸ”„ Set up a verified AWS File Mover Express CLI in GitHub Actions, configured to work with aws-actions/configure-aws-credentials.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Latest commit

Β 

History

8 Commits

Folders and files

Repository files navigation

Setup File Mover Express: install and verify AWS Labs' CLI in GitHub Actions

CI E2E CodeQL Docs License: Apache-2.0

Setup AWS Labs File Mover Express

Install the AWS Labs File Mover Express CLI in GitHub Actions, add it to PATH, and optionally configure an S3 transfer profile. The action verifies the download against its SHA-256 digest and, on Windows and macOS, Amazon's code signature. It doesn't perform transfers itself: your workflow runs the CLI.

This action is built and maintained by lowlysre. It's an independent project, not affiliated with or endorsed by AWS.

Quick start

This example assumes the repository can use GitHub OIDC to assume an AWS role and that dist contains the files to upload. See the first-upload tutorial to configure the OIDC trust policy and bucket permissions.

permissions:
  contents: read
  id-token: write

steps:
  - uses: aws-actions/configure-aws-credentials@v6
    with:
      role-to-assume: ${{ secrets.AWS_ROLE_ARN }}
      aws-region: us-east-1

  - uses: lowlysre/setup-filemoverexpress@v1
    with:
      bucket: my-build-bucket
      validate-credentials: true

  - name: Upload build output
    shell: bash
    run: |
      filemoverexpress upload default ./dist 2>&1 | tee fme.log
      if grep -qE $'^(\033\\[[0-9;]*m)*(ERROR|FATAL)' fme.log; then
        echo "::error::File Mover Express reported transfer errors"
        exit 1
      fi

The setup action takes the region and credentials from the AWS environment configured by the preceding step. Pin third-party actions to full commit SHAs in production workflows.

File Mover Express exits 0 when individual files fail to transfer. The upload step checks the log and fails on ERROR or FATAL lines. See fail on transfer errors for other checks.

File Mover Express or the AWS CLI

File Mover Express copies files between the runner and S3. The AWS CLI and s5cmd cover jobs it doesn't.

Need File Mover Express AWS CLI or s5cmd
Upload or download a directory or prefix βœ… βœ…
Mirror a directory and delete what's gone (sync --delete) ❌ βœ…
Filter by regex or file age (--filter, --max-age) βœ… Glob include and exclude only
Store XXH3, XXHash, or MD5 checksums βœ… ❌
Copy between buckets, manage objects, presign URLs ❌ βœ…
Tune parallelism (files in flight, chunk threads, chunk size) βœ… Flags and --auto-tuning Worker count or max_concurrent_requests
Fail the step on a failed transfer Needs a log check βœ… Non-zero exit

You can use both in one job. See Choosing a transfer tool for when to use which, and Sync or delete for mirror commands.

Documentation

Full docs are at lowlysre.github.io/setup-filemoverexpress.

License

Copyright 2026 lowlysre. This action is licensed under the Apache License 2.0; see NOTICE for attribution. It downloads and runs the File Mover Express CLI, which has its own Apache-2.0 license. Third-party code bundled into the action is listed in dist/THIRD_PARTY_LICENSES.txt.

AWS and Amazon S3 are trademarks of Amazon.com, Inc. or its affiliates. This project is independent and not affiliated with or endorsed by AWS.

About

πŸ”„ Set up a verified AWS File Mover Express CLI in GitHub Actions, configured to work with aws-actions/configure-aws-credentials.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages