Skip to content
This repository has been archived by the owner on Sep 9, 2024. It is now read-only.

chore(deps): bump custom_lint from 0.5.4 to 0.5.6 in /src/kaiteki #390

chore(deps): bump custom_lint from 0.5.4 to 0.5.6 in /src/kaiteki

chore(deps): bump custom_lint from 0.5.4 to 0.5.6 in /src/kaiteki #390

Workflow file for this run

name: Build
env:
SOURCE_PATH: './src/kaiteki'
on:
push:
branches:
- master
paths:
- 'src/**'
- '!src/kaiteki/storybook/**'
- '!src/kaiteki/tools/**'
- '!src/kaiteki/README.md'
pull_request:
workflow_dispatch:
jobs:
test:
name: Test
runs-on: ubuntu-latest
outputs:
build-name: ${{steps.build-variables.outputs.BUILD_NAME}}
make-args: ${{steps.build-variables.outputs.MAKE_ARGS}}
defaults:
run:
working-directory: ${{ env.SOURCE_PATH }}
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
channel: 'master'
cache: true
- name: Get packages
run: 'flutter pub get'
- name: Generate Localizations
run: 'flutter gen-l10n'
- name: Analyze
uses: invertase/[email protected]
with:
working-directory: ${{ env.SOURCE_PATH }}
- name: Test
run: 'flutter test --coverage -r expanded --no-pub'
- name: Provide build variables
id: build-variables
run: |
echo "BUILD_NAME=$(date +%Y-%U)" >> $GITHUB_OUTPUT
echo "MAKE_ARGS=RELEASE=TRUE SPLIT_PER_ABI=TRUE" >> $GITHUB_OUTPUT
- name: Codecov
uses: codecov/codecov-action@v3
with:
files: coverage/lcov.info
build-linux:
name: Build for Linux
runs-on: ubuntu-latest
needs: test
defaults:
run:
working-directory: ${{ env.SOURCE_PATH }}
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
channel: 'master'
cache: true
- name: Install Linux build requirements
run: |
sudo apt-get update --fix-missing
sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev libblkid-dev libhandy-1-dev
- name: Enable Linux Desktop
run: 'flutter config --enable-linux-desktop'
- name: Get packages
run: 'flutter pub get'
- name: Generate Localizations
run: 'flutter gen-l10n'
- name: Build
run: 'make build-linux ${{needs.test.outputs.make-args}}'
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: linux
path: '${{ env.SOURCE_PATH }}/build/linux/x64/release/bundle/'
package-appimage:
name: Package (AppImage)
runs-on: ubuntu-latest
needs: build-linux
if: github.event_name != 'pull_request'
steps:
- name: Install packaging dependencies
run: 'sudo apt-get install -y python3-pip python3-setuptools patchelf desktop-file-utils libgdk-pixbuf2.0-dev fakeroot strace fuse'
- name: Download AppImageTool
run: |
wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O appimagetool
chmod +x appimagetool
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: linux
path: 'kaiteki.AppDir'
- name: Prepare directory
run: |
chmod +x kaiteki.AppDir/kaiteki
wget https://raw.githubusercontent.com/Craftplacer/Kaiteki/master/assets/icons/windows/kaiteki.png -O kaiteki.AppDir/kaiteki.png
wget https://raw.githubusercontent.com/Craftplacer/Kaiteki/master/assets/icons/windows/kaiteki.png -O kaiteki.AppDir/.DirIcon
wget https://raw.githubusercontent.com/Craftplacer/Kaiteki/master/packaging/linux/kaiteki.desktop -O kaiteki.AppDir/kaiteki.desktop
wget https://raw.githubusercontent.com/Craftplacer/Kaiteki/master/packaging/linux/AppRun -O kaiteki.AppDir/AppRun
chmod +x kaiteki.AppDir/AppRun
- name: Make AppImage
run: |
./appimagetool --appimage-extract
./squashfs-root/AppRun kaiteki.AppDir/
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: appimage
path: 'Kaiteki-x86_64.AppImage'
package-flatpak:
name: Package (Flatpak)
runs-on: ubuntu-latest
needs: build-linux
if: github.event_name != 'pull_request'
container:
image: bilelmoussaoui/flatpak-github-actions:gnome-44
options: --privileged
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: linux
path: './src/kaiteki/build/linux/x64/release/bundle/'
- name: Build Flatpak
uses: flatpak/flatpak-github-actions/[email protected]
with:
bundle: moe.craftplacer.kaiteki.flatpak
manifest-path: ./packaging/linux/moe.craftplacer.kaiteki.yaml
cache-key: flatpak-builder-${{ github.sha }}
build-android:
name: Build for Android
runs-on: ubuntu-latest
needs: test
defaults:
run:
working-directory: ${{ env.SOURCE_PATH }}
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
channel: 'master'
cache: true
- name: Get packages
run: 'flutter pub get'
- name: Generate Localizations
run: 'flutter gen-l10n'
- name: Build (unsigned)
if: github.event_name == 'pull_request'
run: 'make build-android ${{needs.test.outputs.make-args}}'
- name: Dump signing key
uses: timheuer/[email protected]
if: github.event_name != 'pull_request'
with:
fileName: 'keystore.pfx'
fileDir: '${{ env.SOURCE_PATH }}/android/app/'
encodedString: ${{ secrets.ANDROID_KEYSTORE }}
- name: Build (signed)
if: github.event_name != 'pull_request'
run: 'make build-android SIGNED=TRUE ${{needs.test.outputs.make-args}}'
env:
KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
- name: Upload artifact
uses: actions/upload-artifact@v3
if: github.event_name != 'pull_request'
with:
name: android
path: '${{ env.SOURCE_PATH }}/build/app/outputs/flutter-apk/app-*.apk'
build-windows:
name: Build for Windows
runs-on: windows-latest
needs: test
defaults:
run:
working-directory: ${{ env.SOURCE_PATH }}
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
channel: 'master'
cache: true
- name: Enable Windows Desktop
run: 'flutter config --enable-windows-desktop'
- name: Get packages
run: 'flutter pub get'
- name: Generate Localizations
run: 'flutter gen-l10n'
- name: Build
run: 'make build-windows'
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: windows
path: '${{ env.SOURCE_PATH }}/build/windows/x64/runner/Release/'
build-web:
name: Build for Web
runs-on: ubuntu-latest
needs: test
defaults:
run:
working-directory: ${{ env.SOURCE_PATH }}
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
channel: 'master'
cache: true
- name: Enable web
run: flutter config --enable-web
- name: Get packages
run: 'flutter pub get'
- name: Generate Localizations
run: 'flutter gen-l10n'
- name: Build
run: 'make build-web'
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: web
path: '${{ env.SOURCE_PATH }}/build/web/*'