mirror of
https://github.com/shimataro/ssh-key-action.git
synced 2025-06-19 22:52:10 +10:00
Feature/verify on container alpine (#180)
* support Alpine Docker container * add Git package * update README * update README; add install commands * update CHANGELOG * fix typo * fix typo
This commit is contained in:
parent
88fb14d113
commit
f8aa6610de
4 changed files with 319 additions and 11 deletions
303
.github/workflows/verify-on-container-alpine.yml
vendored
Normal file
303
.github/workflows/verify-on-container-alpine.yml
vendored
Normal file
|
@ -0,0 +1,303 @@
|
||||||
|
# https://help.github.com/en/articles/workflow-syntax-for-github-actions
|
||||||
|
|
||||||
|
name: Docker container (Alpine Linux)
|
||||||
|
|
||||||
|
on:
|
||||||
|
- push
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
ssh-pem:
|
||||||
|
name: Connect to github.com (PEM format)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
container: ${{ matrix.container }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
- ubuntu-16.04
|
||||||
|
- ubuntu-18.04
|
||||||
|
- ubuntu-20.04
|
||||||
|
container:
|
||||||
|
- alpine:3.10
|
||||||
|
- alpine:3.11
|
||||||
|
- alpine:3.12
|
||||||
|
- alpine:3.13
|
||||||
|
fail-fast: false
|
||||||
|
steps:
|
||||||
|
- name: Install packages
|
||||||
|
run: apk add openssh-client git
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Install SSH key
|
||||||
|
uses: ./.
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY_PEM }}
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
- name: print created files
|
||||||
|
run: ls -l /root/.ssh
|
||||||
|
- name: git clone through SSH
|
||||||
|
run: git clone git@github.com:shimataro/ssh-key-action.git tmp
|
||||||
|
ssh-pkcs8:
|
||||||
|
name: Connect to github.com (PKCS8 format)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
container: ${{ matrix.container }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
- ubuntu-16.04
|
||||||
|
- ubuntu-18.04
|
||||||
|
- ubuntu-20.04
|
||||||
|
container:
|
||||||
|
- alpine:3.10
|
||||||
|
- alpine:3.11
|
||||||
|
- alpine:3.12
|
||||||
|
- alpine:3.13
|
||||||
|
fail-fast: false
|
||||||
|
steps:
|
||||||
|
- name: Install packages
|
||||||
|
run: apk add openssh-client git
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Install SSH key
|
||||||
|
uses: ./.
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY_PKCS8 }}
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
- name: print created files
|
||||||
|
run: ls -l /root/.ssh
|
||||||
|
- name: git clone through SSH
|
||||||
|
run: git clone git@github.com:shimataro/ssh-key-action.git tmp
|
||||||
|
ssh-rfc4716:
|
||||||
|
name: Connect to github.com (RFC4716 format)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
container: ${{ matrix.container }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
- ubuntu-16.04
|
||||||
|
- ubuntu-18.04
|
||||||
|
- ubuntu-20.04
|
||||||
|
container:
|
||||||
|
- alpine:3.10
|
||||||
|
- alpine:3.11
|
||||||
|
- alpine:3.12
|
||||||
|
- alpine:3.13
|
||||||
|
fail-fast: false
|
||||||
|
steps:
|
||||||
|
- name: Install packages
|
||||||
|
run: apk add openssh-client git
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Install SSH key
|
||||||
|
uses: ./.
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY_RFC4716 }}
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
- name: print created files
|
||||||
|
run: ls -l /root/.ssh
|
||||||
|
- name: git clone through SSH
|
||||||
|
run: git clone git@github.com:shimataro/ssh-key-action.git tmp
|
||||||
|
|
||||||
|
key_if_exists_replace-key_exists:
|
||||||
|
name: if_key_exists=replace / key exists
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
container: ${{ matrix.container }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
- ubuntu-16.04
|
||||||
|
- ubuntu-18.04
|
||||||
|
- ubuntu-20.04
|
||||||
|
container:
|
||||||
|
- alpine:3.10
|
||||||
|
- alpine:3.11
|
||||||
|
- alpine:3.12
|
||||||
|
- alpine:3.13
|
||||||
|
steps:
|
||||||
|
- name: Install packages
|
||||||
|
run: apk add openssh-client git
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Install SSH key (dummy)
|
||||||
|
uses: ./.
|
||||||
|
with:
|
||||||
|
key: "dummy" # replaced
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
- name: Install SSH key (replace)
|
||||||
|
uses: ./.
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY_PEM }}
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
if_key_exists: replace
|
||||||
|
- name: print created files
|
||||||
|
run: ls -l /root/.ssh
|
||||||
|
- name: git clone through SSH
|
||||||
|
run: git clone git@github.com:shimataro/ssh-key-action.git tmp
|
||||||
|
key_if_exists_replace-key_doesnt_exist:
|
||||||
|
name: if_key_exists=replace / key doesn't exist
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
container: ${{ matrix.container }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
- ubuntu-16.04
|
||||||
|
- ubuntu-18.04
|
||||||
|
- ubuntu-20.04
|
||||||
|
container:
|
||||||
|
- alpine:3.10
|
||||||
|
- alpine:3.11
|
||||||
|
- alpine:3.12
|
||||||
|
- alpine:3.13
|
||||||
|
steps:
|
||||||
|
- name: Install packages
|
||||||
|
run: apk add openssh-client git
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Install SSH key (replace)
|
||||||
|
uses: ./.
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY_PEM }}
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
if_key_exists: replace
|
||||||
|
- name: print created files
|
||||||
|
run: ls -l /root/.ssh
|
||||||
|
- name: git clone through SSH
|
||||||
|
run: git clone git@github.com:shimataro/ssh-key-action.git tmp
|
||||||
|
|
||||||
|
key_if_exists_ignore-key_exists:
|
||||||
|
name: if_key_exists=ignore / key exists
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
container: ${{ matrix.container }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
- ubuntu-16.04
|
||||||
|
- ubuntu-18.04
|
||||||
|
- ubuntu-20.04
|
||||||
|
container:
|
||||||
|
- alpine:3.10
|
||||||
|
- alpine:3.11
|
||||||
|
- alpine:3.12
|
||||||
|
- alpine:3.13
|
||||||
|
steps:
|
||||||
|
- name: Install packages
|
||||||
|
run: apk add openssh-client git
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Install SSH key (dummy)
|
||||||
|
uses: ./.
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY_PEM }}
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
- name: Install SSH key (replace)
|
||||||
|
uses: ./.
|
||||||
|
with:
|
||||||
|
key: "dummy" # ignored
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
if_key_exists: ignore
|
||||||
|
- name: print created files
|
||||||
|
run: ls -l /root/.ssh
|
||||||
|
- name: git clone through SSH
|
||||||
|
run: git clone git@github.com:shimataro/ssh-key-action.git tmp
|
||||||
|
key_if_exists_ignore-key_doesnt_exist:
|
||||||
|
name: if_key_exists=ignore / key doesn't exist
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
container: ${{ matrix.container }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
- ubuntu-16.04
|
||||||
|
- ubuntu-18.04
|
||||||
|
- ubuntu-20.04
|
||||||
|
container:
|
||||||
|
- alpine:3.10
|
||||||
|
- alpine:3.11
|
||||||
|
- alpine:3.12
|
||||||
|
- alpine:3.13
|
||||||
|
steps:
|
||||||
|
- name: Install packages
|
||||||
|
run: apk add openssh-client git
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Install SSH key (replace)
|
||||||
|
uses: ./.
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY_PEM }}
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
if_key_exists: ignore
|
||||||
|
- name: print created files
|
||||||
|
run: ls -l /root/.ssh
|
||||||
|
- name: git clone through SSH
|
||||||
|
run: git clone git@github.com:shimataro/ssh-key-action.git tmp
|
||||||
|
|
||||||
|
key_if_exists_fail-key_exists:
|
||||||
|
name: if_key_exists=fail / key exists
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
container: ${{ matrix.container }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
- ubuntu-16.04
|
||||||
|
- ubuntu-18.04
|
||||||
|
- ubuntu-20.04
|
||||||
|
container:
|
||||||
|
- alpine:3.10
|
||||||
|
- alpine:3.11
|
||||||
|
- alpine:3.12
|
||||||
|
- alpine:3.13
|
||||||
|
steps:
|
||||||
|
- name: Install packages
|
||||||
|
run: apk add openssh-client git
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Install SSH key (dummy)
|
||||||
|
uses: ./.
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY_PEM }}
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
- name: Install SSH key (replace)
|
||||||
|
uses: ./.
|
||||||
|
with:
|
||||||
|
key: "dummy" # ignored
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
if_key_exists: fail
|
||||||
|
continue-on-error: true
|
||||||
|
- name: print created files
|
||||||
|
run: ls -l /root/.ssh
|
||||||
|
- name: git clone through SSH
|
||||||
|
run: git clone git@github.com:shimataro/ssh-key-action.git tmp
|
||||||
|
key_if_exists_fail-key_doesnt_exist:
|
||||||
|
name: if_key_exists=fail / key doesn't exist
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
container: ${{ matrix.container }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
- ubuntu-16.04
|
||||||
|
- ubuntu-18.04
|
||||||
|
- ubuntu-20.04
|
||||||
|
container:
|
||||||
|
- alpine:3.10
|
||||||
|
- alpine:3.11
|
||||||
|
- alpine:3.12
|
||||||
|
- alpine:3.13
|
||||||
|
steps:
|
||||||
|
- name: Install packages
|
||||||
|
run: apk add openssh-client git
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Install SSH key (replace)
|
||||||
|
uses: ./.
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY_PEM }}
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
if_key_exists: fail
|
||||||
|
- name: print created files
|
||||||
|
run: ls -l /root/.ssh
|
||||||
|
- name: git clone through SSH
|
||||||
|
run: git clone git@github.com:shimataro/ssh-key-action.git tmp
|
18
.github/workflows/verify-on-container-ubuntu.yml
vendored
18
.github/workflows/verify-on-container-ubuntu.yml
vendored
|
@ -25,7 +25,7 @@ jobs:
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: |
|
run: |
|
||||||
apt update
|
apt update
|
||||||
apt -y install openssh-client git
|
apt install -y openssh-client git
|
||||||
- name: Checkout source codes
|
- name: Checkout source codes
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- name: Install SSH key
|
- name: Install SSH key
|
||||||
|
@ -56,7 +56,7 @@ jobs:
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: |
|
run: |
|
||||||
apt update
|
apt update
|
||||||
apt -y install openssh-client git
|
apt install -y openssh-client git
|
||||||
- name: Checkout source codes
|
- name: Checkout source codes
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- name: Install SSH key
|
- name: Install SSH key
|
||||||
|
@ -87,7 +87,7 @@ jobs:
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: |
|
run: |
|
||||||
apt update
|
apt update
|
||||||
apt -y install openssh-client git
|
apt install -y openssh-client git
|
||||||
- name: Checkout source codes
|
- name: Checkout source codes
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- name: Install SSH key
|
- name: Install SSH key
|
||||||
|
@ -119,7 +119,7 @@ jobs:
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: |
|
run: |
|
||||||
apt update
|
apt update
|
||||||
apt -y install openssh-client git
|
apt install -y openssh-client git
|
||||||
- name: Checkout source codes
|
- name: Checkout source codes
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- name: Install SSH key (dummy)
|
- name: Install SSH key (dummy)
|
||||||
|
@ -156,7 +156,7 @@ jobs:
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: |
|
run: |
|
||||||
apt update
|
apt update
|
||||||
apt -y install openssh-client git
|
apt install -y openssh-client git
|
||||||
- name: Checkout source codes
|
- name: Checkout source codes
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- name: Install SSH key (replace)
|
- name: Install SSH key (replace)
|
||||||
|
@ -189,7 +189,7 @@ jobs:
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: |
|
run: |
|
||||||
apt update
|
apt update
|
||||||
apt -y install openssh-client git
|
apt install -y openssh-client git
|
||||||
- name: Checkout source codes
|
- name: Checkout source codes
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- name: Install SSH key (dummy)
|
- name: Install SSH key (dummy)
|
||||||
|
@ -226,7 +226,7 @@ jobs:
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: |
|
run: |
|
||||||
apt update
|
apt update
|
||||||
apt -y install openssh-client git
|
apt install -y openssh-client git
|
||||||
- name: Checkout source codes
|
- name: Checkout source codes
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- name: Install SSH key (replace)
|
- name: Install SSH key (replace)
|
||||||
|
@ -259,7 +259,7 @@ jobs:
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: |
|
run: |
|
||||||
apt update
|
apt update
|
||||||
apt -y install openssh-client git
|
apt install -y openssh-client git
|
||||||
- name: Checkout source codes
|
- name: Checkout source codes
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- name: Install SSH key (dummy)
|
- name: Install SSH key (dummy)
|
||||||
|
@ -297,7 +297,7 @@ jobs:
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: |
|
run: |
|
||||||
apt update
|
apt update
|
||||||
apt -y install openssh-client git
|
apt install -y openssh-client git
|
||||||
- name: Checkout source codes
|
- name: Checkout source codes
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- name: Install SSH key (replace)
|
- name: Install SSH key (replace)
|
||||||
|
|
|
@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
* `if_key_exists` parameter
|
* `if_key_exists` parameter
|
||||||
|
* Support Alpine Linux Docker container
|
||||||
|
|
||||||
## [2.2.0] - 2021-02-27
|
## [2.2.0] - 2021-02-27
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
[![Ubuntu][image-verify-ubuntu]][link-verify-ubuntu]
|
[![Ubuntu][image-verify-ubuntu]][link-verify-ubuntu]
|
||||||
[![Docker container (Ubuntu)][image-verify-docker-container-ubuntu]][link-verify-docker-container-ubuntu]
|
[![Docker container (Ubuntu)][image-verify-docker-container-ubuntu]][link-verify-docker-container-ubuntu]
|
||||||
[![Docker container (CentOS)][image-verify-docker-container-centos]][link-verify-docker-container-centos]
|
[![Docker container (CentOS)][image-verify-docker-container-centos]][link-verify-docker-container-centos]
|
||||||
|
[![Docker container (Alpine Linux)][image-verify-docker-container-alpine]][link-verify-docker-container-alpine]
|
||||||
[![Release][image-release]][link-release]
|
[![Release][image-release]][link-release]
|
||||||
[![License][image-license]][link-license]
|
[![License][image-license]][link-license]
|
||||||
[![Stars][image-stars]][link-stars]
|
[![Stars][image-stars]][link-stars]
|
||||||
|
@ -17,8 +18,9 @@ Useful for SCP, SFTP, and `rsync` over SSH in deployment script.
|
||||||
tested on:
|
tested on:
|
||||||
|
|
||||||
* [all available virtual machines](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners#supported-runners-and-hardware-resources) (Windows Server 2019, macOS Catalina, and Ubuntu 20.04/18.04/16.04)
|
* [all available virtual machines](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners#supported-runners-and-hardware-resources) (Windows Server 2019, macOS Catalina, and Ubuntu 20.04/18.04/16.04)
|
||||||
* [Docker container (Ubuntu)](https://hub.docker.com/_/ubuntu) / requires `openssh-client` package
|
* [Docker container (Ubuntu)](https://hub.docker.com/_/ubuntu) / requires `openssh-client` package; `apt install -y openssh-client`
|
||||||
* [Docker container (CentOS)](https://hub.docker.com/_/centos) / requires `openssh-clients` package
|
* [Docker container (CentOS)](https://hub.docker.com/_/centos) / requires `openssh-clients` package; `yum install -y openssh-clients`
|
||||||
|
* [Docker container (Alpine Linux)](https://hub.docker.com/_/alpine) / requires `openssh-client` package; `apk add openssh-client`
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
@ -151,6 +153,8 @@ See [CHANGELOG.md](CHANGELOG.md).
|
||||||
[link-verify-docker-container-ubuntu]: https://github.com/shimataro/ssh-key-action/actions/workflows/verify-on-container-ubuntu.yml
|
[link-verify-docker-container-ubuntu]: https://github.com/shimataro/ssh-key-action/actions/workflows/verify-on-container-ubuntu.yml
|
||||||
[image-verify-docker-container-centos]: https://github.com/shimataro/ssh-key-action/actions/workflows/verify-on-container-centos.yml/badge.svg?event=push&branch=v2
|
[image-verify-docker-container-centos]: https://github.com/shimataro/ssh-key-action/actions/workflows/verify-on-container-centos.yml/badge.svg?event=push&branch=v2
|
||||||
[link-verify-docker-container-centos]: https://github.com/shimataro/ssh-key-action/actions/workflows/verify-on-container-centos.yml
|
[link-verify-docker-container-centos]: https://github.com/shimataro/ssh-key-action/actions/workflows/verify-on-container-centos.yml
|
||||||
|
[image-verify-docker-container-alpine]: https://github.com/shimataro/ssh-key-action/actions/workflows/verify-on-container-alpine.yml/badge.svg?event=push&branch=v2
|
||||||
|
[link-verify-docker-container-alpine]: https://github.com/shimataro/ssh-key-action/actions/workflows/verify-on-container-alpine.yml
|
||||||
[image-release]: https://img.shields.io/github/release/shimataro/ssh-key-action.svg
|
[image-release]: https://img.shields.io/github/release/shimataro/ssh-key-action.svg
|
||||||
[link-release]: https://github.com/shimataro/ssh-key-action/releases
|
[link-release]: https://github.com/shimataro/ssh-key-action/releases
|
||||||
[image-license]: https://img.shields.io/github/license/shimataro/ssh-key-action.svg
|
[image-license]: https://img.shields.io/github/license/shimataro/ssh-key-action.svg
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue