Skip to content

chore: Add RetryOnExceptionsExtension for test execution exception ha… #451

chore: Add RetryOnExceptionsExtension for test execution exception ha…

chore: Add RetryOnExceptionsExtension for test execution exception ha… #451

Workflow file for this run

name: Build dRAGon Project
on:
- push
- workflow_dispatch
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
contents: write
packages: write
attestations: write
id-token: write
env:
DRAGON_CICD: true
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-java@v4
with:
distribution: microsoft
java-version: 17
- uses: actions/setup-node@v4
with:
node-version: 20
- uses: gradle/actions/setup-gradle@v3
with:
gradle-version: 8.7
- name: Display Tools Versions
run: gradle issueReportInfo
- name: Create Release
if: |
github.ref == 'refs/heads/main' &&
github.repository == 'dragon-okinawa/dragon'
run: gradle createRelease
- name: Set Frontend Version
run: npm version from-git --no-git-tag-version --prefix frontend
- name: Set Docs Version
run: npm version from-git --no-git-tag-version --prefix docs
- name: Test dRAGon
run: gradle npmInstall npmLint checkstyleMain checkstyleTest test
- name: Build Documentation
run: npm install --prefix docs && npm run build --prefix docs
- name: Build dRAGon
run: gradle bootJar -Pversion=$(gradle cV -q -Prelease.quiet)
- name: Upload coverage reports to Codecov
uses: codecov/[email protected]
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker Meta Data
id: meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/dragon-okinawa/dragon
tags: |
type=raw,value=${{ github.ref_name }},enable=true
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
- name: Push Release
if: |
github.ref == 'refs/heads/main' &&
github.repository == 'dragon-okinawa/dragon'
run: gradle pushRelease
- name: Deploy Documentation
uses: JamesIves/github-pages-deploy-action@releases/v3
if: |
github.ref == 'refs/heads/main' &&
github.repository == 'dragon-okinawa/dragon'
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages
FOLDER: docs/build