https://github.com/philips-software/inner-source-checkout-action
https://github.com/philips-software/inner-source-checkout-action
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/philips-software/inner-source-checkout-action
- Owner: philips-software
- License: mit
- Archived: true
- Created: 2021-03-18T07:46:55.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-09-12T07:25:40.000Z (almost 3 years ago)
- Last Synced: 2025-08-22T09:07:23.244Z (10 months ago)
- Language: TypeScript
- Size: 508 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# Inner source repository checkout action
This action allows you to clone a list of inner source (internal ) repositories by providing an app token that has read access to the repositories. The action allows you to easily use private actions in almost the same way as public ones, executing a shallow clone for a specific ref.
## Inputs
| parameter | description | required | default |
| ------------ | --------------------------------------------------------------------------- | -------- | -------- |
| token | App installation or PAT token that have read access to action repositories. | `true` | |
| repos | A comma separated list of actions repos (owner/repo) | `true` | |
| base_dir | base dir for cloning actions | `false` | .actions |
| full_history | checkout repository with full history or only the HEAD | `false` | false |
## Runs
This action is an `node16` action.
## Usages
### Setup
We recommend using a GitHub [app installation token](https://docs.github.com/en/developers/apps/authenticating-with-github-apps) instead of a PAT.
1. Create a GitHub app token for your org.
2. Grant read access to content in the repository section.
3. Install the app in your internal action repositories.
### Workflows
Below is an example snippet of a workflow to setup and run your inner source actions.
```yaml
jobs:
job1:
runs-on: ...
steps:
# Setup private actions
- name: Get Token
id: token
uses: philips-software/app-token-action@v1.1.2
with:
app_id:
app_base64_private_key: ${{ secrets.APPLICATION_PRIVATE_KEY_BASE64 }}
auth_type: 'installation'
- uses: philips-software/inner-source-checkout-action@1.3.0
with:
token: ${{ steps.token.outputs.token }}
base_dir: .actions
repos: org/repo1@version, org/repo2@version
# Use your private actions
- uses: ./.actions/org/repo2
- uses: ./.actions/org/repo1
with:
param1: value1
```
## Development
Standard commands such as lint, test and build are available via yarn. Check [package.json] for more details.
### Test locally
Running locally requires you to have an app installation token with read access to the action repo. Before running localy you must first set the following environment variables:
- `INPUT_TOKEN` : access token
- `INPUT_REPOS`: list of repos, eg owner/repo1, owner/repo2.
- `INPUT_BASE_DIR`: for example `.actions`.
- `INPUT_FULL_HISTORY`: for example `true`.
```
INPUT_TOKEN=
INPUT_REPOS=philips-internal/fastlane-action@master
INPUT_BASE_DIR=.actions
INPUT_FULL_HISTORY=false
```
**Example:**
```bash
export INPUT_TOKEN=philips-software
export INPUT_REPOS=philips-software/app-token-action
export INPUT_BASE_DIR=.actions
export INPUT_FULL_HISTORY=false
yarn watch
```
## Contribution
We welcome contributions, please checkout the [contribution guide](CONTRIBUTING.md).
## License
This project is released under the [MIT License](./LICENSE).
## Philips Forest
This module is part of the Philips Forest.
```
___ _
/ __\__ _ __ ___ ___| |_
/ _\/ _ \| '__/ _ \/ __| __|
/ / | (_) | | | __/\__ \ |_
\/ \___/|_| \___||___/\__|
CI
```