Add flutter release yml

This commit is contained in:
Eric Fennis
2021-08-16 21:13:42 +02:00
parent 6eb0acac4e
commit e686494545
7 changed files with 771 additions and 587 deletions

View File

@@ -1,67 +0,0 @@
name: Build Lucide
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
Build:
runs-on: ubuntu-latest
steps:
- name: Clone 'Lucide'
uses: actions/checkout@v2
- name: Update repos
run: sudo apt-get update
- name: Install FontForge
run: sudo apt-get install zlib1g-dev fontforge
- name: Clone sfnt2woff-zopfli repo
run: git clone https://github.com/bramstein/sfnt2woff-zopfli.git sfnt2woff-zopfli
- name: Install and move sfnt2woff-zopfli
run: |
cd sfnt2woff-zopfli
make
sudo mv sfnt2woff-zopfli /usr/local/bin/sfnt2woff
- name: Clone woff2
run: git clone --recursive https://github.com/google/woff2.git
- name: Install woff2
run: |
cd woff2
sudo make clean all
sudo mv woff2_compress /usr/local/bin/ && sudo mv woff2_decompress /usr/local/bin/
- name: Install Font Custom dependency
run: sudo gem install fontcustom
- name: Install "outline-stroke"
run: sudo yarn add svg-outline-stroke -W
- name: "Outline SVG"
run: node scripts/outline_svg.js
- name: Build 'Lucide'
run: |
mkdir build
list=(_200 _300 "" _500 _600)
for name in "${list[@]}"
do
fontcustom compile "./converted_icons${name}" -h -n "Lucide${name}" -o ./tmp -F && mv ./tmp/* build
done
- name: Zip 'Lucide'
run: zip -r Lucide.zip build
- name: 'Upload to Artifacts'
uses: actions/upload-artifact@v1.0.0
with:
name: Lucide
path: build

View File

@@ -2,16 +2,8 @@ name: Release Packages
on:
push:
# tags:
# - 'v*'
branches:
- '**'
workflow_dispatch:
inputs:
version:
description: 'Version'
required: true
tags:
- 'v*'
jobs:
pre-build:
@@ -264,24 +256,113 @@ jobs:
name: lucide-preact-package-json
path: packages/lucide-preact/package.json
lucide-flutter:
font:
if: github.repository == 'lucide-icons/lucide'
runs-on: ubuntu-latest
# needs: pre-build
needs: pre-build
steps:
- name: Clone 'Lucide'
uses: actions/checkout@v2
- name: Update repos
run: sudo apt-get update
- name: Install FontForge
run: sudo apt-get install zlib1g-dev fontforge
- name: Clone sfnt2woff-zopfli repo
run: git clone https://github.com/bramstein/sfnt2woff-zopfli.git sfnt2woff-zopfli
- name: Install and move sfnt2woff-zopfli
run: |
cd sfnt2woff-zopfli
make
sudo mv sfnt2woff-zopfli /usr/local/bin/sfnt2woff
- name: Clone woff2
run: git clone --recursive https://github.com/google/woff2.git
- name: Install woff2
run: |
cd woff2
sudo make clean all
sudo mv woff2_compress /usr/local/bin/ && sudo mv woff2_decompress /usr/local/bin/
- name: Install Font Custom dependency
run: sudo gem install fontcustom
- name: Install "outline-stroke"
run: sudo yarn add svg-outline-stroke -W
- name: "Outline SVG"
run: node scripts/outline_svg.js
- name: Build 'Lucide'
run: |
mkdir build
list=(_200 _300 "" _500 _600)
for name in "${list[@]}"
do
fontcustom compile "./converted_icons${name}" -h -n "Lucide${name}" -o ./tmp -F && mv ./tmp/* build
done
- name: 'Upload to Artifacts'
uses: actions/upload-artifact@v1
with:
name: lucide-font
path: build
lucide-flutter:
if: github.repository == 'lucide-icons/lucide'
runs-on: ubuntu-latest
needs: [pre-build, lucide-font]
container:
image: google/dart:latest
steps:
- uses: actions/checkout@v2
- uses: subosito/flutter-action@v1
- uses: actions/download-artifact@v2
- uses: actions/cache@v2
with:
channel: 'stable'
path: '~/.pub-cache'
key: ${{ runner.os }}-pub-${{ hashFiles('~/.pub-cache') }}
restore-keys: |
${{ runner.os }}-pub-
- name: Setup credentials
run: |
mkdir -p ~/.pub-cache
cat <<EOF > ~/.pub-cache/credentials.json
{
"accessToken":"${{ secrets.GOOGLE_OAUTH_ACCESS_TOKEN }}",
"refreshToken":"${{ secrets.GOOGLE_OAUTH_REFRESH_TOKEN }}",
"tokenEndpoint":"https://accounts.google.com/o/oauth2/token",
"scopes": [ "openid", "https://www.googleapis.com/auth/userinfo.email" ],
"expiration": 1570721159347
}
EOF
- name: Move the ttf file
run: mv lucide-font/Lucide.ttf assets/Lucide.ttf
working-directory: packages/lucide-flutter
- name: Generate exports file
run: dart tool/generate_fonts.dart lucide-font/Lucide-preview.html
working-directory: packages/lucide-flutter
- name: Update yaml
run: yq e -i 'version = 0.15.60' pubspec.yaml
working-directory: packages/lucide-flutter
- name: cat pubspec.yaml
run: cat pubspec.yaml
run: yq e -i -f '.version = "${{ needs.pre-build.outputs.VERSION }}"' pubspec.yaml
working-directory: packages/lucide-flutter
- name: Flutter publish
run: flutter pub publish --dry-run
run: pub publish -f
working-directory: packages/lucide-flutter
- name: Upload pubspec.yaml
uses: actions/upload-artifact@v2
with:
name: lucide-flutter-pubspec-yaml
path: packages/lucide-flutter/pubspec.yaml
upload-package-jsons:
if: github.repository == 'lucide-icons/lucide'
@@ -292,7 +373,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v2
- name: Commit package.jsons
- name: Commit package files
run: |
mv lucide-package-json/package.json packages/lucide/package.json
mv lucide-react-package-json/package.json packages/lucide-react/package.json
@@ -300,10 +381,11 @@ jobs:
mv lucide-preact-package-json/package.json packages/lucide-preact/package.json
mv lucide-vue-next-package-json/package.json packages/lucide-vue-next/package.json
mv lucide-angular-package-json/package.json packages/lucide-angular/package.json
mv lucide-flutter-pubspec-yaml/pubspec.yaml packages/lucide-flutter/pubspec.yaml
- name: Commit package.jsons
run: |
git add packages/*/package.json
git add packages/*/package.json packages/lucide-flutter/pubspec.yaml
git -c user.name="Lucide Bot" -c user.email="lucide-bot@users.noreply.github.com" \
commit -m ":package: Bump lucide package versions to ${{ needs.pre-build.outputs.VERSION }}" --no-verify --quiet
git remote set-url --push origin https://lucide-bot:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY.git