Skip to content

Release

Release #103

Workflow file for this run

name: Release
on:
workflow_dispatch:
concurrency:
group: release-workflow
cancel-in-progress: true
jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write
pages: write
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Load environment variables
run: cat .github/.env >> $GITHUB_ENV
- name: Create release branch
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: bash .github/script/create_release_branch.sh
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Cache Gradle
uses: actions/cache@v3
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: ${{ runner.os }}-gradle-
- name: Run tests
run: ./gradlew test
- name: Build JAR
run: ./gradlew bootJar
- name: Build Docker image
run: docker build -t diasync-server:latest -f .github/docker/Dockerfile .
- name: Deploy and verify (with retries)
env:
SSH_KEY: ${{ secrets.SSH_KEY }}
run: bash .github/script/deploy_and_verify.sh
- name: Delete release branch on failure
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
if: ${{ failure() || cancelled() }}
run: bash .github/script/delete_release_branch.sh