Skip to content

Update main.yml

Update main.yml #10

Workflow file for this run

name: "Build & Release"
on:
pull_request:
branches:
- main
push:
branches:
- main
jobs:
build:
name: Build & Release
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
with:
repository: fskhri/jeketi-v2
token: ${{ secrets.TOKEN }}
- name: Cache Flutter Packages
uses: actions/cache@v3
with:
path: |
~/.pub-cache
.packages
.flutter-plugins
.flutter-plugins-dependencies
key: ${{ runner.os }}-flutter-${{ hashFiles('pubspec.yaml') }}
- name: Set Up Java
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '17'
- name: Set Up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.22.2'
channel: 'stable'
- name: Install Dependencies
run: flutter pub get
- name: Build APK
run: flutter build apk --release
- name: Extract version from pubspec.yaml
id: extract_version
run: |
version=$(grep '^version: ' pubspec.yaml | cut -d ' ' -f 2 | tr -d '\r')
echo "VERSION=$version" >> $GITHUB_ENV
- name: Generate Unique Tag
id: generate_tag
run: |
base_version="${{ env.VERSION }}"
unique_tag="${base_version}-build-${{ github.run_number }}"
echo "UNIQUE_TAG=$unique_tag" >> $GITHUB_ENV
- name: Get Previous Tag
id: get_prev_tag
run: |
prev_tag=$(git describe --tags --abbrev=0)
echo "PREV_TAG=$prev_tag" >> $GITHUB_ENV
- name: Generate Changelog from Commits
id: generate_changelog
run: |
changelog=$(git log ${{ env.PREV_TAG }}..HEAD --pretty=format:"%h - %s (%an)")
echo "CHANGELOG=$changelog" >> $GITHUB_ENV
- name: Create Release
uses: ncipollo/release-action@v1
with:
artifacts: "build/app/outputs/flutter-apk/app-release.apk"
tag: v${{ env.UNIQUE_TAG }}
token: ${{ secrets.KOCAK }}
name: "Release v${{ env.UNIQUE_TAG }}"
body: |
## Changelog
${{ env.CHANGELOG }}
- name: Checkout jeketi-app Repository
uses: actions/checkout@v3
with:
repository: fskhri/jeketi-app
token: ${{ secrets.TOKEN }}