Backup: SSH Security Improvements #21
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
name: Sync repository to mirrors | |
on: | |
push: | |
tags-ignore: | |
- '*' | |
branches: | |
- '*' | |
jobs: | |
bitbucket: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository | |
id: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup secure connection | |
id: secure | |
run: | | |
env | |
mkdir -p ~/.ssh | |
echo "${{ secrets.SSH_KEY_PRIVATE }}" > ~/.ssh/id_ed25519 | |
chmod 600 ~/.ssh/id_ed25519 | |
ssh-keyscan -t rsa bitbucket.org > ~/.ssh/known_hosts | |
- name: Sync up to Bitbucket | |
id: sync | |
uses: yesolutions/mirror-action@master | |
with: | |
REMOTE: '[email protected]:the_archival_one/brs-psp-research-initiative.git' | |
GIT_SSH_PRIVATE_KEY: ${{ secrets.SSH_KEY_PRIVATE }} | |
GIT_SSH_KNOWN_HOSTS: ~/.ssh/known_hosts | |
codeberg: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository | |
id: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup secure connection | |
id: secure | |
run: | | |
env | |
mkdir -p ~/.ssh | |
echo "${{ secrets.SSH_KEY_PRIVATE }}" > ~/.ssh/id_ed25519 | |
chmod 600 ~/.ssh/id_ed25519 | |
ssh-keyscan -t rsa codeberg.org > ~/.ssh/known_hosts | |
- name: Sync up to Codeberg | |
id: sync | |
uses: yesolutions/mirror-action@master | |
with: | |
REMOTE: '[email protected]:thearchivalone/BRS-PSP-Research-Initiative.git' | |
GIT_SSH_PRIVATE_KEY: ${{ secrets.SSH_KEY_PRIVATE }} | |
GIT_SSH_KNOWN_HOSTS: ~/.ssh/known_hosts | |
beanstalk: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository | |
id: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup secure connection | |
id: secure | |
run: | | |
env | |
mkdir -p ~/.ssh | |
echo "${{ secrets.SSH_KEY_PRIVATE }}" > ~/.ssh/id_ed25519 | |
chmod 600 ~/.ssh/id_ed25519 | |
echo "${{ secrets.BEANSTALK_KNOWN_HOSTS }}" > ~/.ssh/known_hosts | |
- name: Sync up to Beanstalk | |
id: sync | |
uses: yesolutions/mirror-action@master | |
with: | |
REMOTE: '[email protected]:/the-archival-one/brs-psp-research-initiative.git' | |
GIT_SSH_PRIVATE_KEY: ${{ secrets.SSH_KEY_PRIVATE }} | |
GIT_SSH_KNOWN_HOSTS: ${{ secrets.BEANSTALK_KNOWN_HOSTS }} | |
gitgud: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository | |
id: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup secure connection | |
id: secure | |
run: | | |
env | |
mkdir -p ~/.ssh | |
echo "${{ secrets.SSH_KEY_PRIVATE }}" > ~/.ssh/id_ed25519 | |
chmod 600 ~/.ssh/id_ed25519 | |
ssh-keyscan -t rsa gitgud.io > ~/.ssh/known_hosts | |
- name: Sync up to GitGud | |
id: sync | |
uses: yesolutions/mirror-action@master | |
with: | |
REMOTE: '[email protected]:thearchivalone/brs-psp-research-initiative.git' | |
GIT_SSH_PRIVATE_KEY: ${{ secrets.SSH_KEY_PRIVATE }} | |
GIT_SSH_KNOWN_HOSTS: ~/.ssh/known_hosts | |
gitlab: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository | |
id: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup secure connection | |
id: secure | |
run: | | |
env | |
mkdir -p ~/.ssh | |
echo "${{ secrets.SSH_KEY_PRIVATE }}" > ~/.ssh/id_ed25519 | |
chmod 600 ~/.ssh/id_ed25519 | |
ssh-keyscan -t rsa gitlab.com > ~/.ssh/known_hosts | |
- name: Sync up to GitLab | |
id: sync | |
uses: yesolutions/mirror-action@master | |
with: | |
REMOTE: '[email protected]:thearchivalone1/BRS-PSP-Research-Initiative.git' | |
GIT_SSH_PRIVATE_KEY: ${{ secrets.SSH_KEY_PRIVATE }} | |
GIT_SSH_KNOWN_HOSTS: ~/.ssh/known_hosts | |
sourceforge: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository | |
id: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup secure connection | |
id: secure | |
run: | | |
env | |
mkdir -p ~/.ssh | |
echo "${{ secrets.SSH_KEY_PRIVATE }}" > ~/.ssh/id_ed25519 | |
chmod 600 ~/.ssh/id_ed25519 | |
ssh-keyscan -t rsa sourceforge.net > ~/.ssh/known_hosts | |
- name: Sync up to Sourceforge | |
id: sync | |
uses: yesolutions/mirror-action@master | |
with: | |
REMOTE: 'ssh://[email protected]/p/brs-psp-research-initiative-1/code' | |
GIT_SSH_PRIVATE_KEY: ${{ secrets.SSH_KEY_PRIVATE }} | |
GIT_SSH_KNOWN_HOSTS: ~/.ssh/known_hosts | |
archive: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository | |
id: checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Compress Repository | |
id: compress | |
run: | |
git archive --format=tar.gz -o Backup.tar.gz --prefix=$(basename $PWD)/ main | |
- name: Sync up to Internet Archive | |
id: ia_sync | |
uses: qoijjj/internet-archive-upload@v7 | |
with: | |
access-key: ${{ secrets.IA_ACCESS_KEY }} | |
secret-key: ${{ secrets.IA_SECRET_KEY }} | |
identifier: BRS-Research-Initiative-Current | |
files: Backup.tar.gz | |