ci: Move shell scripts into standalone files
This commit is contained in:
parent
9418a20cae
commit
8c701dc908
|
|
@ -0,0 +1,29 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
main () {
|
||||
if [[ $# -ne 1 ]]; then
|
||||
echo "$#: Wrong number of arguments"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local target=$1
|
||||
|
||||
rustup target add "$target"
|
||||
staging="radicle-$target"
|
||||
mkdir -p "$staging/debug"
|
||||
|
||||
cargo build --target "$target" --bin git-remote-rad
|
||||
cp target/"$target"/debug/git-remote-rad "$staging"/debug/
|
||||
|
||||
cargo build --target="$target" --bin rad
|
||||
cp target/"$target"/debug/rad "$staging"/debug/
|
||||
|
||||
tar czf "$staging-debug.tar.gz" "$staging"/debug
|
||||
cp "$staging-debug.tar.gz" "$staging"/debug/
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
main () {
|
||||
if [[ $# -ne 1 ]]; then
|
||||
echo "$#: Wrong number of arguments"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local target=$1
|
||||
rustup target add "$target"
|
||||
|
||||
local staging="radicle-$target"
|
||||
mkdir -p "$staging"
|
||||
|
||||
cargo build --target="$target" --package=radicle-httpd --release
|
||||
cp target/"$target"/release/radicle-httpd "$staging"/
|
||||
|
||||
cargo build --target="$target" --package=radicle-node --release
|
||||
cp target/"$target"/release/radicle-node "$staging"/
|
||||
|
||||
cargo build --target="$target" --bin rad --release
|
||||
cp target/"$target"/release/rad "$staging"/
|
||||
|
||||
cargo build --target="$target" --bin git-remote-rad --release
|
||||
cp target/"$target"/release/git-remote-rad "$staging"/
|
||||
|
||||
tar czf "$staging.tar.gz" "$staging"
|
||||
cp "$staging.tar.gz" "$staging"/
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
|
@ -36,50 +36,14 @@ jobs:
|
|||
with:
|
||||
image: ${{ matrix.docker_image }}
|
||||
options: ${{ matrix.docker_options }}
|
||||
run: |
|
||||
rustup target add ${{ matrix.target }}
|
||||
staging="radicle-${{ matrix.target }}"
|
||||
mkdir -p "$staging"
|
||||
|
||||
cargo build --target=${{ matrix.target }} --package=radicle-httpd --release
|
||||
cp target/${{ matrix.target }}/release/radicle-httpd "$staging"/
|
||||
|
||||
cargo build --target=${{ matrix.target }} --package=radicle-node --release
|
||||
cp target/${{ matrix.target }}/release/radicle-node "$staging"/
|
||||
|
||||
cargo build --target=${{ matrix.target }} --bin rad --release
|
||||
cp target/${{ matrix.target }}/release/rad "$staging"/
|
||||
|
||||
cargo build --target=${{ matrix.target }} --bin git-remote-rad --release
|
||||
cp target/${{ matrix.target }}/release/git-remote-rad "$staging"/
|
||||
|
||||
tar czf "$staging.tar.gz" "$staging"
|
||||
cp "$staging.tar.gz" "$staging"/
|
||||
chmod --recursive go+r /root/.cargo/registry
|
||||
run: .github/workflows/build.bash "${{ matrix.target }}"
|
||||
- name: Build the debug binaries
|
||||
uses: addnab/docker-run-action@v3
|
||||
with:
|
||||
image: ${{ matrix.docker_image }}
|
||||
options: ${{ matrix.docker_options }}
|
||||
run: |
|
||||
rustup target add ${{ matrix.target }}
|
||||
staging="radicle-${{ matrix.target }}"
|
||||
mkdir -p "$staging/debug"
|
||||
|
||||
cargo build --target ${{ matrix.target }} --bin git-remote-rad
|
||||
cp target/${{ matrix.target }}/debug/git-remote-rad "$staging"/debug/
|
||||
|
||||
cargo build --target=${{ matrix.target }} --bin rad
|
||||
cp target/${{ matrix.target }}/debug/rad "$staging"/debug/
|
||||
|
||||
tar czf "$staging-debug.tar.gz" "$staging"/debug
|
||||
cp "$staging-debug.tar.gz" "$staging"/debug/
|
||||
- shell: bash
|
||||
run: |
|
||||
echo "$SSH_PRIVATE_KEY" >ssh-private-key
|
||||
chmod go-rwx ssh-private-key
|
||||
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ssh-private-key github-actions@files.radicle.xyz mkdir -p "/mnt/radicle/releases/${{ github.sha }}/${{ matrix.target }}/debug"
|
||||
scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ssh-private-key -r radicle-${{ matrix.target }}/* "github-actions@files.radicle.xyz:/mnt/radicle/releases/${{ github.sha }}/${{ matrix.target }}"
|
||||
run: .github/workflows/build-debug.bash "${{ matrix.target }}"
|
||||
- run: .github/workflows/upload.bash "${{ matrix.target }}" "${{ github.sha }}"
|
||||
env:
|
||||
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
|
||||
|
|
@ -105,45 +69,10 @@ jobs:
|
|||
key: cargo-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock') }}
|
||||
- uses: dtolnay/rust-toolchain@1.67
|
||||
- name: Build the release binaries
|
||||
run: |
|
||||
rustup target add ${{ matrix.target }}
|
||||
staging="radicle-${{ matrix.target }}"
|
||||
mkdir -p "$staging"
|
||||
|
||||
cargo build --target ${{ matrix.target }} --package=radicle-httpd --release
|
||||
cp target/${{ matrix.target }}/release/radicle-httpd "$staging"/
|
||||
|
||||
cargo build --target ${{ matrix.target }} --package=radicle-node --release
|
||||
cp target/${{ matrix.target }}/release/radicle-node "$staging"/
|
||||
|
||||
cargo build --target ${{ matrix.target }} --bin rad --release
|
||||
cp target/${{ matrix.target }}/release/rad "$staging"/
|
||||
|
||||
cargo build --target ${{ matrix.target }} --bin git-remote-rad --release
|
||||
cp target/${{ matrix.target }}/release/git-remote-rad "$staging"/
|
||||
|
||||
tar czf "$staging.tar.gz" "$staging"
|
||||
cp "$staging.tar.gz" "$staging"/
|
||||
run: .github/workflows/build.bash "${{ matrix.target }}"
|
||||
- name: Build the debug binaries
|
||||
run: |
|
||||
rustup target add ${{ matrix.target }}
|
||||
staging="radicle-${{ matrix.target }}"
|
||||
mkdir -p "$staging/debug"
|
||||
|
||||
cargo build --target ${{ matrix.target }} --bin git-remote-rad
|
||||
cp target/${{ matrix.target }}/debug/git-remote-rad "$staging"/debug/
|
||||
|
||||
cargo build --target=${{ matrix.target }} --bin rad
|
||||
cp target/${{ matrix.target }}/debug/rad "$staging"/debug/
|
||||
|
||||
tar czf "$staging-debug.tar.gz" "$staging"/debug
|
||||
cp "$staging-debug.tar.gz" "$staging"/debug/
|
||||
- shell: bash
|
||||
run: |
|
||||
echo "$SSH_PRIVATE_KEY" >ssh-private-key
|
||||
chmod go-rwx ssh-private-key
|
||||
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ssh-private-key github-actions@files.radicle.xyz mkdir -p "/mnt/radicle/releases/${{ github.sha }}/${{ matrix.target }}/debug"
|
||||
scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ssh-private-key -r radicle-${{ matrix.target }}/* "github-actions@files.radicle.xyz:/mnt/radicle/releases/${{ github.sha }}/${{ matrix.target }}"
|
||||
run: .github/workflows/build-debug.bash "${{ matrix.target }}"
|
||||
- run: .github/workflows/upload.bash "${{ matrix.target }}" "${{ github.sha }}"
|
||||
env:
|
||||
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
|
||||
|
|
@ -151,10 +80,7 @@ jobs:
|
|||
needs: [release-linux-binaries, release-macos-binaries]
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- shell: bash
|
||||
run: |
|
||||
echo "$SSH_PRIVATE_KEY" >ssh-private-key
|
||||
chmod go-rwx ssh-private-key
|
||||
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ssh-private-key github-actions@files.radicle.xyz ln -snf "/mnt/radicle/releases/${{ github.sha }}" "/mnt/radicle/releases/latest"
|
||||
- uses: actions/checkout@v3
|
||||
- run: .github/workflows/update-latest-symlink.bash "${{ github.sha }}"
|
||||
env:
|
||||
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
main () {
|
||||
if [[ $# -ne 1 ]]; then
|
||||
echo "$#: Wrong number of arguments"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local sha=$1
|
||||
echo "$SSH_PRIVATE_KEY" >ssh-private-key
|
||||
chmod go-rwx ssh-private-key
|
||||
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ssh-private-key github-actions@files.radicle.xyz ln -snf "/mnt/radicle/releases/${sha}" "/mnt/radicle/releases/latest"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
main () {
|
||||
if [[ $# -ne 2 ]]; then
|
||||
echo "$#: Wrong number of arguments"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local target=$1
|
||||
local sha=$2
|
||||
|
||||
echo "$SSH_PRIVATE_KEY" >ssh-private-key
|
||||
chmod go-rwx ssh-private-key
|
||||
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ssh-private-key github-actions@files.radicle.xyz mkdir -p "/mnt/radicle/releases/$sha/$target/debug"
|
||||
scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ssh-private-key -r radicle-$target/* "github-actions@files.radicle.xyz:/mnt/radicle/releases/$sha/$target"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Loading…
Reference in New Issue