Skip to content

Release v1.4.2

Release v1.4.2 #31

Workflow file for this run

name: Release
on:
push:
tags:
- "v*.*.*"
jobs:
build_release:
name: build_release
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Get version from tag
id: extract_version
run: |
echo "version=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"
shell: bash
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
tool-cache: false
docker-images: false
android: true
dotnet: true
haskell: true
large-packages: true
swap-storage: true
- name: Build and push backend container
uses: docker/build-push-action@v4
with:
context: ./backend
push: true
tags: |
"uhhlt/dats_backend:${{ steps.extract_version.outputs.version }}"
- name: Build and push frontend container
uses: docker/build-push-action@v4
with:
context: ./frontend
push: true
tags: |
"uhhlt/dats_frontend:${{ steps.extract_version.outputs.version }}"
- name: Build and push ray container
uses: docker/build-push-action@v4
with:
context: ./backend/src/app/preprocessing/ray_model_worker
push: true
tags: |
"uhhlt/dats_ray:${{ steps.extract_version.outputs.version }}"
- name: Create Release
uses: ncipollo/release-action@v1
with:
generateReleaseNotes: true
deploy_demo:
name: deploy_demo
needs: build_release
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v3
- name: Write SSH config & key
id: write_ssh_keys
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
SSH_CONFIG: ${{ secrets.SSH_CONFIG }}
run: |
install -m 600 -D /dev/null ~/.ssh/id_ed25519
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_ed25519
echo "$SSH_CONFIG" > ~/.ssh/config
shell: bash
- name: Add server to known hosts
env:
SSH_JUMP_HOST: ${{ secrets.SSH_JUMP_HOST }}
run: |
ssh-keyscan -H $SSH_JUMP_HOST >> ~/.ssh/known_hosts
shell: bash
- name: Deploy
id: deploy
env:
SSH_HOST: ${{ secrets.SSH_HOST }}
run: |
scp -o StrictHostKeyChecking=no bin/deploy.sh $SSH_HOST:~/deploy.sh
ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=5 -o StrictHostKeyChecking=no $SSH_HOST './deploy.sh'
ssh -o StrictHostKeyChecking=no $SSH_HOST 'rm ./deploy.sh'
shell: bash