Skip to content

ServerlessOpsIO/gha-setup-workspace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

gha-setup-workspace

This GitHub Action sets up the job workspace by checking the job type, optionally checking out the source code, and handling artifacts based on the job type.

NOTE: This workflow is opinionated and meets the needs of its author. It is provided publicly as a reference for others to use and modify as needed.

The gha-setup-workspace action performs the following tasks:

  • Sets additional GitHub Actions environment variables.
  • Checks the job of checkout (source or artifact)
  • Checks out the source code if checkout_artifact is false.
  • Determines the artifact name based on the provided override or generates a default name.
  • Downloads the artifact if checkout_artifact is true
  • .

Usage

See below for inputs, outputs, and examples.

Inputs

  • artifact_name_override (optional): Override the name of the artifact to use. Default is an empty string which determines the artifact name automatically.
  • checkout_artifact (optional): Whether to checkout artifact instead of source. Value must be true or false.
  • checkout_fetch_depth (optional): The number of commits to fetch. Change to 0 if performing a merge.

Outputs

  • artifact-name: The name of the artifact downloaded.
  • is-artifact: Checkout type is artifact.
  • is-source: Checkout type is source.

Examples

To use this action, add the following step to your workflow:

name: CI

on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Setup job workspace
        uses: ServerlessOpsIO/gha-setup-workspace@v1

  deploy:
    runs-on: ubuntu-latest
    needs:
      - build
    steps:
      - name: Setup job workspace
        uses: ServerlessOpsIO/gha-setup-workspace@v1
        with:
          checkout_artifact: true

Configuration

See below for extended information on certain configuration.

Artifact naming

Both ServerlessOpsIO/gha-setup-workspace and ServerlessOpsIO/gha-store-artifacts use the same utility action to set an artifact name if artifact_name_override is not set. If your workflow sets artifact_name_override for ServerlessOpsIO/gha-setup-workspace be sure to use that actions artifact_name output to set artifact_name_override for ServerlessOpsIO/gha-store-artifacts.

See the example below:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Setup job workspace
        uses: ServerlessOpsIO/gha-setup-workspace@v1
      - name: Store Artifacts
        uses: ServerlessOpsIO/gha-store-artifacts@v1
        with:
          artifact_name_override: 'MyArtifactName'
    outputs:
      artifact-name: ${{ steps.setup-workspace.outputs.artifact-name }}

  deploy:
    runs-on: ubuntu-latest
    needs:
      - build
    steps:
      - name: Setup job workspace
        uses: ServerlessOpsIO/gha-setup-workspace@v1
        with:
          checkout_artifact: true
          artifact_name_override: ${{ needs.build.outputs.artifact-name }}

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any changes.

Contact

For any questions or support, please open an issue in this repository.

About

GitHub Actions composite actions to setup workspace

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published