Skip to content

ci: Update flutter-ci.yml #8

ci: Update flutter-ci.yml

ci: Update flutter-ci.yml #8

Workflow file for this run

name: Flutter CI
# This workflow is triggered on pushes to the repository.
on:
push:
branches:
- master
# on: push # Default will running for every branch.
jobs:
build:
# This job will run on ubuntu virtual machine
runs-on: ubuntu-latest
steps:
# Setup Java environment in order to build the Android app.
- uses: actions/checkout@v2
- uses: actions/setup-java@v2
with:
distribution: 'zulu'
java-version: '8.0.302'
# Setup the flutter environment.
- uses: subosito/[email protected]
with:
channel: 'stable' # 'dev', 'alpha', default to: 'stable'
flutter-version: '2.2.3' # you can also specify exact version of flutter
# Get flutter dependencies.
- run: flutter pub get
# Check for any formatting issues in the code.
- run: flutter format . --set-exit-if-changed .
# Statically analyze the Dart code for any errors.
- run: flutter analyze .
# Run widget tests for our flutter project.
- run: flutter test
# Build apk.
- run: flutter build apk --release
# Upload generated apk to the artifacts.
- uses: actions/upload-artifact@v3
with:
name: app-release
path: build/app/outputs/apk/release/app-release.apk
release:
name: Create GitHub Release
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Set up Git
run: |
git config --global user.name "GitHub Actions"
git config --global user.email "[email protected]"
- name: Generate release tag
id: tag
run: |
echo "::set-output name=release_tag::Flarax_$(date +"%Y.%m.%d_%H-%M")"
- name: Create Release
id: create_release
uses: actions/create-release@v1
with:
tag_name: ${{ steps.tag.outputs.release_tag }} # Ganti dengan tag versi yang sesuai
release_name: Release ${{ steps.tag.outputs.release_tag }} # Ganti dengan nama release yang sesuai
body: |
Describe your release here.
- name: Upload APK
id: upload-release-asset
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./build/app/outputs/apk/release/app-release.apk
asset_name: app-release.apk
asset_content_type: application/octet-stream
# publish:
# runs-on: ubuntu-latest
# needs: [build]
# steps:
# # 1
# - uses: actions/checkout@v3
# - uses: actions/download-artifact@v3
# with:
# name: release-apk
# path: build/app/outputs/apk/release/app-release.apk
# - name: Display structure of downloaded files
# run: ls -R
# # 2
# - name: Generate release tag
# id: tag
# run: |
# echo "::set-output name=release_tag::Flarax_$(date +"%Y.%m.%d_%H-%M")"
# # 3
# - name: Release
# uses: softprops/action-gh-release@v1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# tag_name: ${{ steps.tag.outputs.release_tag }}
# files: build/app/outputs/apk/release/app-release.apk