Lots of Bugfixes (#3308) #28
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: Canary Workflow | |
on: | |
push: | |
branches: | |
- canary | |
- '!release/**' | |
jobs: | |
build: | |
name: Upload Kavita.Common for Version Bump | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: csproj | |
path: Kavita.Common/Kavita.Common.csproj | |
version: | |
name: Bump version | |
needs: [ build ] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup .NET Core | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Bump versions | |
uses: SiqiLu/dotnet-bump-version@2.0.0 | |
with: | |
version_files: Kavita.Common/Kavita.Common.csproj | |
github_token: ${{ secrets.REPO_GHA_PAT }} | |
version_mask: "0.0.0.1" | |
canary: | |
name: Build Canary Docker | |
needs: [ build, version ] | |
runs-on: ubuntu-latest | |
permissions: | |
packages: write | |
contents: read | |
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/canary' }} | |
steps: | |
- name: Find Current Pull Request | |
uses: jwalton/gh-find-current-pr@v1 | |
id: findPr | |
with: | |
state: all | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Check Out Repo | |
uses: actions/checkout@v4 | |
with: | |
ref: canary | |
- name: NodeJS to Compile WebUI | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- 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@v2 | |
id: get-version | |
with: | |
proj-path: Kavita.Common/Kavita.Common.csproj | |
- name: Parse Version | |
run: | | |
version='${{steps.get-version.outputs.assembly-version}}' | |
echo "VERSION=$version" >> $GITHUB_OUTPUT | |
id: parse-version | |
- name: Echo csproj version | |
run: echo "${{steps.get-version.outputs.assembly-version}}" | |
- name: Compile dotnet app | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Install Swashbuckle CLI | |
run: dotnet tool install -g Swashbuckle.AspNetCore.Cli | |
- run: ./monorepo-build.sh | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
id: docker_build | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
platforms: linux/amd64,linux/arm/v7,linux/arm64 | |
push: true | |
tags: jvmilazz0/kavita:canary, jvmilazz0/kavita:canary-${{ steps.parse-version.outputs.VERSION }}, ghcr.io/kareadita/kavita:canary, ghcr.io/kareadita/kavita:canary-${{ steps.parse-version.outputs.VERSION }} | |
- name: Image digest | |
run: echo ${{ steps.docker_build.outputs.digest }} |