Fixed a bug with checking license on non-prod builds. #81
Workflow file for this run
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: Stable Workflow | |
on: | |
push: | |
branches: ['release/**'] | |
pull_request: | |
branches: [ 'develop' ] | |
types: [ closed ] | |
workflow_dispatch: | |
jobs: | |
debug: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Debug Info | |
run: | | |
echo "Event Name: ${{ github.event_name }}" | |
echo "Ref: ${{ github.ref }}" | |
echo "Not Contains Release: ${{ !contains(github.head_ref, 'release') }}" | |
echo "Matches Develop: ${{ github.ref == 'refs/heads/develop' }}" | |
if_merged: | |
if: github.event.pull_request.merged == true && contains(github.head_ref, 'release') | |
runs-on: ubuntu-latest | |
steps: | |
- run: | | |
echo The PR was merged | |
build: | |
name: Upload Kavita.Common for Version Bump | |
runs-on: ubuntu-latest | |
if: github.event.pull_request.merged == true && contains(github.head_ref, 'release') | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: csproj | |
path: Kavita.Common/Kavita.Common.csproj | |
stable: | |
name: Build Stable and Nightly Docker if Release | |
needs: [ build ] | |
if: github.event.pull_request.merged == true && contains(github.head_ref, 'release') | |
runs-on: ubuntu-latest | |
permissions: | |
packages: write | |
contents: read | |
steps: | |
- name: Find Current Pull Request | |
uses: jwalton/gh-find-current-pr@v1 | |
id: findPr | |
with: | |
state: all | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Parse PR body | |
id: parse-body | |
run: | | |
body="${{ steps.findPr.outputs.body }}" | |
if [[ ${#body} -gt 1870 ]] ; then | |
body=${body:0:1870} | |
body="${body}...and much more. | |
Read full changelog: https://github.com/Kareadita/Kavita/releases/latest" | |
fi | |
body=${body//\'/} | |
body=${body//'%'/'%25'} | |
body=${body//$'\n'/'%0A'} | |
body=${body//$'\r'/'%0D'} | |
body=${body//$'`'/'%60'} | |
body=${body//$'>'/'%3E'} | |
echo $body | |
echo "BODY=$body" >> $GITHUB_OUTPUT | |
- name: Check Out Repo | |
uses: actions/checkout@v3 | |
with: | |
ref: develop | |
- name: NodeJS to Compile WebUI | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '18.13.x' | |
- run: | | |
cd UI/Web || exit | |
echo 'Installing web dependencies' | |
npm install --legacy-peer-deps | |
echo 'Building UI' | |
npm run prod | |
echo 'Copying back to Kavita wwwroot' | |
rsync -a dist/ ../../API/wwwroot/ | |
cd ../ || exit | |
- name: Get csproj Version | |
uses: kzrnm/get-net-sdk-project-versions-action@v1 | |
id: get-version | |
with: | |
proj-path: Kavita.Common/Kavita.Common.csproj | |
- name: Echo csproj version | |
run: echo "${{steps.get-version.outputs.assembly-version}}" | |
- name: Parse Version | |
run: | | |
version='${{steps.get-version.outputs.assembly-version}}' | |
newVersion=${version%.*} | |
echo $newVersion | |
echo "VERSION=$newVersion" >> $GITHUB_OUTPUT | |
id: parse-version | |
- name: Compile dotnet app | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 8.0.x | |
- name: Install Swashbuckle CLI | |
run: dotnet tool install -g --version 6.5.0 Swashbuckle.AspNetCore.Cli | |
- run: ./monorepo-build.sh | |
- name: Login to Docker Hub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v2 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Build and push stable | |
id: docker_build_stable | |
uses: docker/build-push-action@v4 | |
with: | |
context: . | |
platforms: linux/amd64,linux/arm/v7,linux/arm64 | |
push: true | |
tags: jvmilazz0/kavita:latest, jvmilazz0/kavita:${{ steps.parse-version.outputs.VERSION }}, ghcr.io/kareadita/kavita:latest, ghcr.io/kareadita/kavita:${{ steps.parse-version.outputs.VERSION }} | |
- name: Build and push nightly | |
id: docker_build_nightly | |
uses: docker/build-push-action@v4 | |
with: | |
context: . | |
platforms: linux/amd64,linux/arm/v7,linux/arm64 | |
push: true | |
tags: jvmilazz0/kavita:nightly, jvmilazz0/kavita:nightly-${{ steps.parse-version.outputs.VERSION }}, ghcr.io/kareadita/kavita:nightly, ghcr.io/kareadita/kavita:nightly-${{ steps.parse-version.outputs.VERSION }} | |
- name: Image digest | |
run: echo ${{ steps.docker_build_stable.outputs.digest }} | |
- name: Image digest | |
run: echo ${{ steps.docker_build_nightly.outputs.digest }} | |
- name: Notify Discord | |
uses: rjstone/discord-webhook-notify@v1 | |
with: | |
severity: info | |
description: v${{steps.get-version.outputs.assembly-version}} - ${{ steps.findPr.outputs.title }} | |
details: '${{ steps.findPr.outputs.body }}' | |
text: <@&939225192553644133> A new stable build has been released. | |
webhookUrl: ${{ secrets.DISCORD_DOCKER_UPDATE_URL }} | |
- name: Notify Discord | |
uses: rjstone/discord-webhook-notify@v1 | |
with: | |
severity: info | |
description: v${{steps.get-version.outputs.assembly-version}} - ${{ steps.findPr.outputs.title }} | |
details: '${{ steps.findPr.outputs.body }}' | |
text: <@&939225459156217917> <@&939225350775406643> A new nightly build has been released for docker. | |
webhookUrl: ${{ secrets.DISCORD_DOCKER_UPDATE_URL }} |