forked from shimataro/ssh-key-action
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #17 from niaid/v2-sync
F160 - US396 - Sync with upstream fork
- Loading branch information
Showing
30 changed files
with
10,969 additions
and
5,088 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# https://docs.github.com/en/actions/creating-actions/creating-a-composite-action | ||
name: Cache NPM | ||
description: Composite action (cache NPM) | ||
|
||
runs: | ||
using: composite | ||
steps: | ||
# https://github.com/actions/cache/blob/master/examples.md#node---npm | ||
# https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter | ||
- name: Get NPM cache directory | ||
run: echo "NPM_CACHE_DIRECTORY=$(npm config get cache)" >> ${{ github.env }} # use "github.env" instead of "github.output"; if use "github.output", "Warning: Input required and not supplied: path" is displayed on post-process | ||
shell: pwsh # use PowerShell; Bash doesn't work on Windows because the value of "github.env" is like "D:\a\_temp\_runner_file_commands\set_env_XXX". | ||
|
||
- name: Get Node.js version | ||
run: echo "NODEJS_VERSION=$(node -v)" >> ${{ github.env }} | ||
shell: pwsh | ||
|
||
- name: Cache NPM modules | ||
uses: actions/cache@v3 | ||
with: | ||
path: ${{ env.NPM_CACHE_DIRECTORY }} | ||
key: npm-${{ runner.os }}-${{ runner.arch }}-${{ env.NODEJS_VERSION }}-${{ hashFiles('package-lock.json') }} | ||
restore-keys: | | ||
npm-${{ runner.os }}-${{ runner.arch }}-${{ env.NODEJS_VERSION }}- | ||
npm-${{ runner.os }}-${{ runner.arch }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,215 @@ | ||
# https://docs.github.com/en/actions/using-workflows/reusing-workflows | ||
name: Reusable workflow (verify) | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
os: | ||
required: true | ||
type: string | ||
description: host OS that CI 'runs-on' | ||
docker_image: | ||
required: false | ||
type: string | ||
default: "" | ||
description: Docker image name | ||
package_installation_command: | ||
required: false | ||
type: string | ||
default: "" | ||
description: package installation command | ||
secrets: | ||
SSH_KEY_PEM: | ||
required: true | ||
description: SSH private key (PEM format) | ||
SSH_KEY_PKCS8: | ||
required: true | ||
description: SSH private key (PKCS8 format) | ||
SSH_KEY_RFC4716: | ||
required: true | ||
description: SSH private key (RFC4716 format) | ||
|
||
jobs: | ||
ssh-pem: | ||
name: Connect to github.com (PEM format) | ||
runs-on: ${{ inputs.os }} | ||
container: ${{ inputs.docker_image }} | ||
steps: | ||
- name: Install packages | ||
run: ${{ inputs.package_installation_command }} | ||
if: ${{ inputs.package_installation_command != '' }} | ||
- name: Checkout source codes | ||
uses: actions/checkout@v3 | ||
- name: Install SSH key | ||
uses: ./. | ||
with: | ||
key: ${{ secrets.SSH_KEY_PEM }} | ||
known_hosts: unnecessary | ||
- name: git clone through SSH | ||
run: git clone git@github.com:niaid/monarch-actions-key-writer.git tmp | ||
|
||
ssh-pkcs8: | ||
name: Connect to github.com (PKCS8 format) | ||
runs-on: ${{ inputs.os }} | ||
container: ${{ inputs.docker_image }} | ||
steps: | ||
- name: Install packages | ||
run: ${{ inputs.package_installation_command }} | ||
if: ${{ inputs.package_installation_command != '' }} | ||
- name: Checkout source codes | ||
uses: actions/checkout@v3 | ||
- name: Install SSH key | ||
uses: ./. | ||
with: | ||
key: ${{ secrets.SSH_KEY_PKCS8 }} | ||
known_hosts: unnecessary | ||
- name: git clone through SSH | ||
run: git clone git@github.com:niaid/monarch-actions-key-writer.git tmp | ||
|
||
ssh-rfc4716: | ||
name: Connect to github.com (RFC4716 format) | ||
runs-on: ${{ inputs.os }} | ||
container: ${{ inputs.docker_image }} | ||
steps: | ||
- name: Install packages | ||
run: ${{ inputs.package_installation_command }} | ||
if: ${{ inputs.package_installation_command != '' }} | ||
- name: Checkout source codes | ||
uses: actions/checkout@v3 | ||
- name: Install SSH key | ||
uses: ./. | ||
with: | ||
key: ${{ secrets.SSH_KEY_RFC4716 }} | ||
known_hosts: unnecessary | ||
- name: git clone through SSH | ||
run: git clone git@github.com:niaid/monarch-actions-key-writer.git tmp | ||
|
||
key_if_exists_replace-key_exists: | ||
name: if_key_exists=replace / key exists | ||
runs-on: ${{ inputs.os }} | ||
container: ${{ inputs.docker_image }} | ||
steps: | ||
- name: Install packages | ||
run: ${{ inputs.package_installation_command }} | ||
if: ${{ inputs.package_installation_command != '' }} | ||
- name: Checkout source codes | ||
uses: actions/checkout@v3 | ||
- name: Install SSH key (dummy) | ||
uses: ./. | ||
with: | ||
key: "dummy" # replaced | ||
known_hosts: unnecessary | ||
- name: Install SSH key (replaces existing key) | ||
uses: ./. | ||
with: | ||
key: ${{ secrets.SSH_KEY_PEM }} | ||
known_hosts: unnecessary | ||
if_key_exists: replace | ||
- name: git clone through SSH | ||
run: git clone git@github.com:niaid/monarch-actions-key-writer.git tmp | ||
|
||
key_if_exists_replace-key_doesnt_exist: | ||
name: if_key_exists=replace / key doesn't exist | ||
runs-on: ${{ inputs.os }} | ||
container: ${{ inputs.docker_image }} | ||
steps: | ||
- name: Install packages | ||
run: ${{ inputs.package_installation_command }} | ||
if: ${{ inputs.package_installation_command != '' }} | ||
- name: Checkout source codes | ||
uses: actions/checkout@v3 | ||
- name: Install SSH key | ||
uses: ./. | ||
with: | ||
key: ${{ secrets.SSH_KEY_PEM }} | ||
known_hosts: unnecessary | ||
if_key_exists: replace | ||
- name: git clone through SSH | ||
run: git clone git@github.com:niaid/monarch-actions-key-writer.git tmp | ||
|
||
key_if_exists_ignore-key_exists: | ||
name: if_key_exists=ignore / key exists | ||
runs-on: ${{ inputs.os }} | ||
container: ${{ inputs.docker_image }} | ||
steps: | ||
- name: Install packages | ||
run: ${{ inputs.package_installation_command }} | ||
if: ${{ inputs.package_installation_command != '' }} | ||
- name: Checkout source codes | ||
uses: actions/checkout@v3 | ||
- name: Install SSH key | ||
uses: ./. | ||
with: | ||
key: ${{ secrets.SSH_KEY_PEM }} | ||
known_hosts: unnecessary | ||
- name: Install SSH key (does nothing) | ||
uses: ./. | ||
with: | ||
key: "dummy" # ignored | ||
known_hosts: unnecessary | ||
if_key_exists: ignore | ||
- name: git clone through SSH | ||
run: git clone git@github.com:niaid/monarch-actions-key-writer.git tmp | ||
|
||
key_if_exists_ignore-key_doesnt_exist: | ||
name: if_key_exists=ignore / key doesn't exist | ||
runs-on: ${{ inputs.os }} | ||
container: ${{ inputs.docker_image }} | ||
steps: | ||
- name: Install packages | ||
run: ${{ inputs.package_installation_command }} | ||
if: ${{ inputs.package_installation_command != '' }} | ||
- name: Checkout source codes | ||
uses: actions/checkout@v3 | ||
- name: Install SSH key | ||
uses: ./. | ||
with: | ||
key: ${{ secrets.SSH_KEY_PEM }} | ||
known_hosts: unnecessary | ||
if_key_exists: ignore | ||
- name: git clone through SSH | ||
run: git clone git@github.com:niaid/monarch-actions-key-writer.git tmp | ||
|
||
key_if_exists_fail-key_exists: | ||
name: if_key_exists=fail / key exists | ||
runs-on: ${{ inputs.os }} | ||
container: ${{ inputs.docker_image }} | ||
steps: | ||
- name: Install packages | ||
run: ${{ inputs.package_installation_command }} | ||
if: ${{ inputs.package_installation_command != '' }} | ||
- name: Checkout source codes | ||
uses: actions/checkout@v3 | ||
- name: Install SSH key | ||
uses: ./. | ||
with: | ||
key: ${{ secrets.SSH_KEY_PEM }} | ||
known_hosts: unnecessary | ||
- name: Install SSH key (fails) | ||
uses: ./. | ||
with: | ||
key: "dummy" # fails | ||
known_hosts: unnecessary | ||
if_key_exists: fail | ||
continue-on-error: true | ||
- name: git clone through SSH | ||
run: git clone git@github.com:niaid/monarch-actions-key-writer.git tmp | ||
|
||
key_if_exists_fail-key_doesnt_exist: | ||
name: if_key_exists=fail / key doesn't exist | ||
runs-on: ${{ inputs.os }} | ||
container: ${{ inputs.docker_image }} | ||
steps: | ||
- name: Install packages | ||
run: ${{ inputs.package_installation_command }} | ||
if: ${{ inputs.package_installation_command != '' }} | ||
- name: Checkout source codes | ||
uses: actions/checkout@v3 | ||
- name: Install SSH key | ||
uses: ./. | ||
with: | ||
key: ${{ secrets.SSH_KEY_PEM }} | ||
known_hosts: unnecessary | ||
if_key_exists: fail | ||
- name: git clone through SSH | ||
run: git clone git@github.com:niaid/monarch-actions-key-writer.git tmp |
Oops, something went wrong.