$ show actions/upload-pages-artifact
The `actions/upload-pages-artifact` repository provides a composite GitHub Action that packages a directory of static assets into a tarball and uploads it as an Actions artifact, specifically for deploying to GitHub Pages. The action is defined in `action.yml`, which orchestrates shell commands to create a tar archive with proper handling of symlinks (dereferencing them), exclusion of `.git` and `.github` directories, and optional exclusion of hidden files. The archive is then uploaded using the `actions/upload-artifact` action. The action runs on Linux, macOS, and Windows runners, with platform-specific adjustments (e.g., using `gtar` on macOS). The repository also includes a test script (`script/new-artifact.sh`) to generate sample files for testing, along with a comprehensive CI matrix that validates the action on all three OSes and checks for correct handling of hidden files and symlinks. Overall, this is a focused, well-maintained utility action that solves a specific problem (preparing Pages artifacts) with robust cross-platform support.
The LLM identified 1 files worth highlighting for reuse:
The core of the repository: a composite GitHub Action that defines inputs, outputs, and execution steps. The key logic is in the tar commands that handle cross-platform differences (Linux, macOS, Windows), exclude hidden files conditionally, and dereference symlinks. This pattern is reusable for any GitHub Action that needs to create a tarball with specific exclusion rules, though it is tightly coupled to the GitHub Actions runtime.