From 7c8f898893d0b60a09c532704ef06ecb33a510a8 Mon Sep 17 00:00:00 2001 From: Eric Fennis Date: Sun, 2 Jul 2023 14:46:53 +0200 Subject: [PATCH] Improve release workflow (#1397) * first fixes release workflow * improve workflow * remove legacy ::set-outputs --- .github/actions/build-and-test.yml | 8 +- .github/actions/check-icons.yml | 8 +- .github/workflows/ci.yml | 19 +- .github/workflows/lucide-angular.yml | 4 +- .github/workflows/lucide-font.yml | 8 +- .github/workflows/lucide-preact.yml | 4 +- .github/workflows/lucide-react-native.yml | 4 +- .github/workflows/lucide-react.yml | 4 +- .github/workflows/lucide-solid.yml | 4 +- .github/workflows/lucide-static.yml | 4 +- .github/workflows/lucide-svelte.yml | 4 +- .github/workflows/lucide-vue-next.yml | 4 +- .github/workflows/lucide-vue.yml | 4 +- .github/workflows/lucide.yml | 4 +- .github/workflows/release.yml | 563 ++-------------------- packages/lucide-angular/package.json | 2 +- packages/lucide-figma/package.json | 2 +- packages/lucide-flutter/pubspec.yaml | 2 +- packages/lucide-preact/package.json | 2 +- packages/lucide-react-native/package.json | 2 +- packages/lucide-react/package.json | 2 +- packages/lucide-solid/package.json | 2 +- packages/lucide-static/package.json | 2 +- packages/lucide-svelte/package.json | 2 +- packages/lucide-vue-next/package.json | 2 +- packages/lucide-vue/package.json | 2 +- packages/lucide/package.json | 2 +- 27 files changed, 97 insertions(+), 573 deletions(-) diff --git a/.github/actions/build-and-test.yml b/.github/actions/build-and-test.yml index 245b88e92..59cceca58 100644 --- a/.github/actions/build-and-test.yml +++ b/.github/actions/build-and-test.yml @@ -24,15 +24,15 @@ runs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-lucide-preact-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | - ${{ runner.os }}-lucide-preact-pnpm-store- + ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install --filter lucide-preact diff --git a/.github/actions/check-icons.yml b/.github/actions/check-icons.yml index c32f22fe4..cdf436552 100644 --- a/.github/actions/check-icons.yml +++ b/.github/actions/check-icons.yml @@ -24,15 +24,15 @@ runs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-lucide-preact-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | - ${{ runner.os }}-lucide-preact-pnpm-store- + ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install --filter . diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 99dd79a3a..8be6c6c5a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,12 +29,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- @@ -47,7 +47,7 @@ jobs: - name: Get latest tag id: latest-tag - run: echo "::set-output name=LATEST_TAG::$(git describe --tags `git rev-list --tags --max-count=1`)" + run: echo "LATEST_TAG=$(git describe --tags `git rev-list --tags --max-count=1`)" >> $GITHUB_OUTPUT - name: Install dependencies run: pnpm install @@ -57,7 +57,7 @@ jobs: - name: Create new version id: new-version - run: echo "::set-output name=NEW_VERSION::$(.github/workflows/version-up.sh --minor)" + run: echo "NEW_VERSION=$(.github/workflows/version-up.sh --minor)" >> $GITHUB_OUTPUT - name: Create change log id: change-log @@ -67,7 +67,7 @@ jobs: CHANGE_LOG="${CHANGE_LOG//$'\n'/'%0A'}" CHANGE_LOG="${CHANGE_LOG//$'\r'/'%0D'}" echo $CHANGE_LOG - echo "::set-output name=CHANGE_LOG::$CHANGE_LOG" + echo "CHANGE_LOG=$CHANGE_LOG" >> $GITHUB_OUTPUT env: GITHUB_API_KEY: ${{ secrets.GITHUB_TOKEN }} @@ -76,11 +76,14 @@ jobs: echo '${{ steps.new-version.outputs.NEW_VERSION }}' echo '${{ steps.change-log.outputs.CHANGE_LOG }}' - - name: Release + - name: Create Release uses: softprops/action-gh-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.CREATE_RELEASE_TOKEN }} with: tag_name: ${{ steps.new-version.outputs.NEW_VERSION }} name: New icons ${{ steps.new-version.outputs.NEW_VERSION }} body: ${{ steps.change-log.outputs.CHANGE_LOG }} + + - name: Release packages + uses: './release.yml' + with: + version: ${{ steps.new-version.outputs.NEW_VERSION }} diff --git a/.github/workflows/lucide-angular.yml b/.github/workflows/lucide-angular.yml index af765851a..51d373d35 100644 --- a/.github/workflows/lucide-angular.yml +++ b/.github/workflows/lucide-angular.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide-font.yml b/.github/workflows/lucide-font.yml index 19026ffc7..dfb35a4cc 100644 --- a/.github/workflows/lucide-font.yml +++ b/.github/workflows/lucide-font.yml @@ -26,15 +26,15 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-lucide-font-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | - ${{ runner.os }}-lucide-font-pnpm-store- + ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install --filter outline-svg diff --git a/.github/workflows/lucide-preact.yml b/.github/workflows/lucide-preact.yml index fafb58ffa..9d76816c0 100644 --- a/.github/workflows/lucide-preact.yml +++ b/.github/workflows/lucide-preact.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide-react-native.yml b/.github/workflows/lucide-react-native.yml index 2470b83c0..4674f20e9 100644 --- a/.github/workflows/lucide-react-native.yml +++ b/.github/workflows/lucide-react-native.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide-react.yml b/.github/workflows/lucide-react.yml index 55b84eaf4..73962b2ef 100644 --- a/.github/workflows/lucide-react.yml +++ b/.github/workflows/lucide-react.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide-solid.yml b/.github/workflows/lucide-solid.yml index bc8480cc3..cc351d708 100644 --- a/.github/workflows/lucide-solid.yml +++ b/.github/workflows/lucide-solid.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide-static.yml b/.github/workflows/lucide-static.yml index 28576135f..9211a522f 100644 --- a/.github/workflows/lucide-static.yml +++ b/.github/workflows/lucide-static.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide-svelte.yml b/.github/workflows/lucide-svelte.yml index 32537dc07..d8c42fa5e 100644 --- a/.github/workflows/lucide-svelte.yml +++ b/.github/workflows/lucide-svelte.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide-vue-next.yml b/.github/workflows/lucide-vue-next.yml index 1222c4a19..352042cea 100644 --- a/.github/workflows/lucide-vue-next.yml +++ b/.github/workflows/lucide-vue-next.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide-vue.yml b/.github/workflows/lucide-vue.yml index f443c6406..78678756d 100644 --- a/.github/workflows/lucide-vue.yml +++ b/.github/workflows/lucide-vue.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/lucide.yml b/.github/workflows/lucide.yml index bb72c5915..315e43bbc 100644 --- a/.github/workflows/lucide.yml +++ b/.github/workflows/lucide.yml @@ -25,12 +25,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6588d5982..212bcfd08 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,8 +12,8 @@ on: required: true jobs: - pre-build: - if: github.repository == 'lucide-icons/lucide' && contains('["locness3","ericfennis", "johnletey", "karsa-mistmere"]', github.actor) + pre-release: + if: github.repository == 'lucide-icons/lucide' && contains('["ericfennis", "karsa-mistmere"]', github.actor) runs-on: ubuntu-latest outputs: VERSION: ${{ steps.get_version.outputs.VERSION }} @@ -23,19 +23,32 @@ jobs: id: get_version run: | echo $VERSION_REF - echo ::set-output name=VERSION::${VERSION_REF/refs\/tags\/\v} + echo "VERSION=${VERSION_REF/refs\/tags\/\v}" >> $GITHUB_OUTPUT env: VERSION_REF: ${{ github.event.inputs.version || github.ref }} - lucide: + release: if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest - needs: pre-build + needs: pre-release + strategy: + matrix: + package: [ + 'lucide', + 'lucide-react', + 'lucide-react-native', + 'lucide-vue', + 'lucide-vue-next', + 'lucide-angular', + 'lucide-preact', + 'lucide-solid', + 'lucide-svelte', + ] steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 - uses: pnpm/action-setup@v2.0.1 name: Install pnpm @@ -47,484 +60,38 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies - run: pnpm install + run: pnpm install --frozen-lockfile - name: Set Auth Token run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }} - name: Set new version - run: pnpm --filter lucide version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version + run: pnpm --filter ${{ matrix.package }} version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version - name: Build - run: pnpm --filter lucide build + run: pnpm --filter ${{ matrix.package }} build - name: Test - run: pnpm --filter lucide test + run: pnpm --filter ${{ matrix.package }} test - name: Publish - run: pnpm --filter lucide publish --no-git-checks - - - name: Upload package.json - uses: actions/upload-artifact@v2 - with: - name: lucide-package-json - path: packages/lucide/package.json - - lucide-react: - if: github.repository == 'lucide-icons/lucide' - runs-on: ubuntu-latest - needs: pre-build - steps: - - uses: actions/checkout@v3 - - - uses: actions/setup-node@v3 - with: - node-version: 16 - - - uses: pnpm/action-setup@v2.0.1 - name: Install pnpm - id: pnpm-install - with: - version: 7 - run_install: false - - - name: Get pnpm store directory - id: pnpm-cache - run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" - - - uses: actions/cache@v3 - name: Setup pnpm cache - with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: Install dependencies - run: pnpm install - - - name: Set Auth Token - run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }} - - - name: Set package.json version lucide - run: pnpm --filter lucide-react version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version - - - name: Build - run: pnpm --filter lucide-react build - - - name: Test - run: pnpm --filter lucide-react test - - - name: Publish - run: pnpm --filter lucide-react publish --no-git-checks - - - name: Upload package.json - uses: actions/upload-artifact@v2 - with: - name: lucide-react-package-json - path: packages/lucide-react/package.json - - lucide-react-native: - if: github.repository == 'lucide-icons/lucide' - runs-on: ubuntu-latest - needs: pre-build - steps: - - uses: actions/checkout@v3 - - - uses: actions/setup-node@v3 - with: - node-version: 16 - - - uses: pnpm/action-setup@v2.0.1 - name: Install pnpm - id: pnpm-install - with: - version: 7 - run_install: false - - - name: Get pnpm store directory - id: pnpm-cache - run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" - - - uses: actions/cache@v3 - name: Setup pnpm cache - with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: Install dependencies - run: pnpm install - - - name: Set Auth Token - run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }} - - - name: Set package.json version lucide - run: pnpm --filter lucide-react-native version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version - - - name: Build - run: pnpm --filter lucide-react-native build - - - name: Test - run: pnpm --filter lucide-react-native test - - - name: Publish - run: pnpm --filter lucide-react-native publish --no-git-checks - - - name: Upload package.json - uses: actions/upload-artifact@v2 - with: - name: lucide-react-native-package-json - path: packages/lucide-react-native/package.json - - lucide-vue: - if: github.repository == 'lucide-icons/lucide' - runs-on: ubuntu-latest - needs: pre-build - steps: - - uses: actions/checkout@v3 - - - uses: actions/setup-node@v3 - with: - node-version: 16 - - - uses: pnpm/action-setup@v2.0.1 - name: Install pnpm - id: pnpm-install - with: - version: 7 - run_install: false - - - name: Get pnpm store directory - id: pnpm-cache - run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" - - - uses: actions/cache@v3 - name: Setup pnpm cache - with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: Install dependencies - run: pnpm install - - - name: Set Auth Token - run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }} - - - name: Set new version - run: pnpm --filter lucide-vue version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version - - - name: Build - run: pnpm --filter lucide-vue build - - - name: Test - run: pnpm --filter lucide-vue test - - - name: Publish - run: pnpm --filter lucide-vue publish --no-git-checks - - - name: Upload package.json - uses: actions/upload-artifact@v2 - with: - name: lucide-vue-package-json - path: packages/lucide-vue/package.json - - lucide-vue-next: - if: github.repository == 'lucide-icons/lucide' - runs-on: ubuntu-latest - needs: pre-build - steps: - - uses: actions/checkout@v3 - - - uses: actions/setup-node@v3 - with: - node-version: 16 - - - uses: pnpm/action-setup@v2.0.1 - name: Install pnpm - id: pnpm-install - with: - version: 7 - run_install: false - - - name: Get pnpm store directory - id: pnpm-cache - run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" - - - uses: actions/cache@v3 - name: Setup pnpm cache - with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: Install dependencies - run: pnpm install - - - name: Set Auth Token - run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }} - - - name: Set new version - run: pnpm --filter lucide-vue-next version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version - - - name: Build - run: pnpm --filter lucide-vue-next build - - - name: Test - run: pnpm --filter lucide-vue-next test - - - name: Publish - run: pnpm --filter lucide-vue-next publish --no-git-checks - - - name: Upload package.json - uses: actions/upload-artifact@v2 - with: - name: lucide-vue-next-package-json - path: packages/lucide-vue-next/package.json - - lucide-angular: - if: github.repository == 'lucide-icons/lucide' - runs-on: ubuntu-latest - needs: pre-build - steps: - - uses: actions/checkout@v3 - - - uses: actions/setup-node@v3 - with: - node-version: 16 - - - uses: pnpm/action-setup@v2.0.1 - name: Install pnpm - id: pnpm-install - with: - version: 7 - run_install: false - - - name: Get pnpm store directory - id: pnpm-cache - run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" - - - uses: actions/cache@v3 - name: Setup pnpm cache - with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: Install dependencies - run: pnpm install - - - name: Set Auth Token - run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }} - - - name: Set package.json version lucide - run: pnpm --filter lucide-angular version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version - - - name: Build - run: pnpm --filter lucide-angular build - - - name: Test - run: pnpm --filter lucide-angular test - - - name: Publish - run: pnpm --filter lucide-angular publish --no-git-checks --ignore-scripts - - - name: Upload package.json - uses: actions/upload-artifact@v2 - with: - name: lucide-angular-package-json - path: packages/lucide-angular/package.json - - lucide-preact: - if: github.repository == 'lucide-icons/lucide' - runs-on: ubuntu-latest - needs: pre-build - steps: - - uses: actions/checkout@v3 - - - uses: actions/setup-node@v3 - with: - node-version: 16 - - - uses: pnpm/action-setup@v2.0.1 - name: Install pnpm - id: pnpm-install - with: - version: 7 - run_install: false - - - name: Get pnpm store directory - id: pnpm-cache - run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" - - - uses: actions/cache@v3 - name: Setup pnpm cache - with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: Install dependencies - run: pnpm install - - - name: Set Auth Token - run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }} - - - name: Set package.json version lucide - run: pnpm --filter lucide-preact version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version - - - name: Build - run: pnpm --filter lucide-preact build - - - name: Test - run: pnpm --filter lucide-preact test - - - name: Publish - run: pnpm --filter lucide-preact publish --no-git-checks - - - name: Upload package.json - uses: actions/upload-artifact@v2 - with: - name: lucide-preact-package-json - path: packages/lucide-preact/package.json - - lucide-solid: - if: github.repository == 'lucide-icons/lucide' - runs-on: ubuntu-latest - needs: pre-build - steps: - - uses: actions/checkout@v3 - - - uses: actions/setup-node@v3 - with: - node-version: 16 - - - uses: pnpm/action-setup@v2.0.1 - name: Install pnpm - id: pnpm-install - with: - version: 7 - run_install: false - - - name: Get pnpm store directory - id: pnpm-cache - run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" - - - uses: actions/cache@v3 - name: Setup pnpm cache - with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: Install dependencies - run: pnpm install - - - name: Set Auth Token - run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }} - - - name: Set package.json version lucide - run: pnpm --filter lucide-solid version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version - - - name: Build - run: pnpm --filter lucide-solid build - - - name: Test - run: pnpm --filter lucide-solid test - - - name: Publish - run: pnpm --filter lucide-solid publish --no-git-checks - - - name: Upload package.json - uses: actions/upload-artifact@v2 - with: - name: lucide-solid-package-json - path: packages/lucide-solid/package.json - - lucide-svelte: - if: github.repository == 'lucide-icons/lucide' - runs-on: ubuntu-latest - needs: pre-build - steps: - - uses: actions/checkout@v3 - - - uses: actions/setup-node@v3 - with: - node-version: 16 - - - uses: pnpm/action-setup@v2.0.1 - name: Install pnpm - id: pnpm-install - with: - version: 7 - run_install: false - - - name: Get pnpm store directory - id: pnpm-cache - run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" - - - uses: actions/cache@v3 - name: Setup pnpm cache - with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: Install dependencies - run: pnpm install - - - name: Set Auth Token - run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }} - - - name: Set package.json version lucide - run: pnpm --filter lucide-svelte version --new-version ${{ needs.pre-build.outputs.VERSION }} --no-git-tag-version - - - name: Build - run: pnpm --filter lucide-svelte build - - - name: Test - run: pnpm --filter lucide-svelte test - - - name: Publish - run: pnpm --filter lucide-svelte publish --no-git-checks - - - name: Upload package.json - uses: actions/upload-artifact@v2 - with: - name: lucide-svelte-package-json - path: packages/lucide-svelte/package.json + run: pnpm --filter ${{ matrix.package }} publish --no-git-checks --ignore-scripts lucide-static: if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest - needs: [pre-build, lucide-font] + needs: [pre-release, lucide-font] steps: - uses: actions/checkout@v3 - uses: actions/download-artifact@v2 @@ -543,18 +110,18 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies - run: pnpm install + run: pnpm install --frozen-lockfile - name: Set Auth Token run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }} @@ -571,16 +138,10 @@ jobs: - name: Publish run: pnpm --filter lucide-static publish --no-git-checks - - name: Upload package.json - uses: actions/upload-artifact@v2 - with: - name: lucide-static-package-json - path: packages/lucide-static/package.json - lucide-font: if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest - needs: pre-build + needs: pre-release container: ericfennis/lucide-font:latest steps: - uses: actions/checkout@v3 @@ -598,12 +159,12 @@ jobs: - name: Get pnpm store directory id: pnpm-cache run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- @@ -629,7 +190,7 @@ jobs: lucide-flutter: if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest - needs: [pre-build, lucide-font] + needs: [pre-release, lucide-font] container: image: cirrusci/flutter:latest steps: @@ -691,65 +252,25 @@ jobs: run: flutter 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 - post-release: if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest - needs: - [ - pre-build, - lucide, - lucide-react, - lucide-react-native, - lucide-vue, - lucide-vue-next, - lucide-angular, - lucide-svelte, - lucide-preact, - lucide-flutter, - lucide-font, - ] + needs: [ + lucide-font, + ] steps: - - uses: actions/checkout@v3 - uses: actions/download-artifact@v2 - - 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 - mv lucide-react-native-package-json/package.json packages/lucide-react-native/package.json - mv lucide-vue-package-json/package.json packages/lucide-vue/package.json - mv lucide-preact-package-json/package.json packages/lucide-preact/package.json - mv lucide-svelte-package-json/package.json packages/lucide-svelte/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 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 - git push origin HEAD:main - - name: Zip font and icons run: | - zip -r lucide-font-${{ needs.pre-build.outputs.VERSION }}.zip lucide-font - zip -r lucide-icons-${{ needs.pre-build.outputs.VERSION }}.zip icons + zip -r lucide-font-${{ needs.pre-release.outputs.VERSION }}.zip lucide-font + zip -r lucide-icons-${{ needs.pre-release.outputs.VERSION }}.zip icons - name: Release zip and fonts uses: softprops/action-gh-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.CREATE_RELEASE_TOKEN }} with: - tag_name: v${{ needs.pre-build.outputs.VERSION }} + tag_name: v${{ needs.pre-release.outputs.VERSION }} files: | - lucide-font-${{ needs.pre-build.outputs.VERSION }}.zip - lucide-icons-${{ needs.pre-build.outputs.VERSION }}.zip + lucide-font-${{ needs.pre-release.outputs.VERSION }}.zip + lucide-icons-${{ needs.pre-release.outputs.VERSION }}.zip diff --git a/packages/lucide-angular/package.json b/packages/lucide-angular/package.json index 1b0b3b228..25f55a93a 100644 --- a/packages/lucide-angular/package.json +++ b/packages/lucide-angular/package.json @@ -1,7 +1,7 @@ { "name": "lucide-angular", "description": "A Lucide icon library package for Angular applications", - "version": "0.160.0", + "version": "0.0.1", "author": "SMAH1", "license": "ISC", "homepage": "https://lucide.dev", diff --git a/packages/lucide-figma/package.json b/packages/lucide-figma/package.json index 3f62237ef..0dab47a41 100644 --- a/packages/lucide-figma/package.json +++ b/packages/lucide-figma/package.json @@ -1,6 +1,6 @@ { "name": "lucide-figma", - "version": "0.15.11", + "version": "1.0.0", "private": true, "license": "ISC", "main": "src/main.js", diff --git a/packages/lucide-flutter/pubspec.yaml b/packages/lucide-flutter/pubspec.yaml index 0ef228f94..171b0ec11 100644 --- a/packages/lucide-flutter/pubspec.yaml +++ b/packages/lucide-flutter/pubspec.yaml @@ -1,6 +1,6 @@ name: lucide_icons description: A Lucide icon library package for Flutter applications. Fork of Feather Icons, open for anyone to contribute icons. -version: 0.160.0 +version: 0.0.1 homepage: https://lucide.dev repository: https://github.com/lucide-icons/lucide diff --git a/packages/lucide-preact/package.json b/packages/lucide-preact/package.json index 8eb6fa8fd..cf87b098b 100644 --- a/packages/lucide-preact/package.json +++ b/packages/lucide-preact/package.json @@ -1,7 +1,7 @@ { "name": "lucide-preact", "description": "A Lucide icon library package for Preact applications", - "version": "0.160.0", + "version": "0.0.1", "license": "ISC", "homepage": "https://lucide.dev", "bugs": "https://github.com/lucide-icons/lucide/issues", diff --git a/packages/lucide-react-native/package.json b/packages/lucide-react-native/package.json index b6c0d303b..da248519c 100644 --- a/packages/lucide-react-native/package.json +++ b/packages/lucide-react-native/package.json @@ -1,7 +1,7 @@ { "name": "lucide-react-native", "description": "A Lucide icon library package for React Native applications", - "version": "0.160.0", + "version": "0.0.1", "license": "ISC", "homepage": "https://lucide.dev", "bugs": "https://github.com/lucide-icons/lucide/issues", diff --git a/packages/lucide-react/package.json b/packages/lucide-react/package.json index a47b3094d..2caa41aaa 100644 --- a/packages/lucide-react/package.json +++ b/packages/lucide-react/package.json @@ -1,7 +1,7 @@ { "name": "lucide-react", "description": "A Lucide icon library package for React applications", - "version": "0.160.0", + "version": "0.0.1", "license": "ISC", "homepage": "https://lucide.dev", "bugs": "https://github.com/lucide-icons/lucide/issues", diff --git a/packages/lucide-solid/package.json b/packages/lucide-solid/package.json index 8ba42e700..c9c39bc25 100644 --- a/packages/lucide-solid/package.json +++ b/packages/lucide-solid/package.json @@ -1,7 +1,7 @@ { "name": "lucide-solid", "description": "A Lucide icon library package for Solid applications", - "version": "0.105.0-alpha.9", + "version": "0.0.1", "license": "ISC", "homepage": "https://lucide.dev", "bugs": "https://github.com/lucide-icons/lucide/issues", diff --git a/packages/lucide-static/package.json b/packages/lucide-static/package.json index 44e810526..ca4bade6a 100644 --- a/packages/lucide-static/package.json +++ b/packages/lucide-static/package.json @@ -1,7 +1,7 @@ { "name": "lucide-static", "description": "Lucide is a community-run fork of Feather Icons, open for anyone to contribute icons.", - "version": "0.16.19-rc.0", + "version": "0.0.1", "license": "ISC", "homepage": "https://lucide.dev", "bugs": "https://github.com/lucide-icons/lucide/issues", diff --git a/packages/lucide-svelte/package.json b/packages/lucide-svelte/package.json index cd120cc01..cc1b883a6 100644 --- a/packages/lucide-svelte/package.json +++ b/packages/lucide-svelte/package.json @@ -1,7 +1,7 @@ { "name": "lucide-svelte", "description": "A Lucide icon library package for Svelte applications", - "version": "0.160.0", + "version": "0.0.1", "license": "ISC", "homepage": "https://lucide.dev", "bugs": "https://github.com/lucide-icons/lucide/issues", diff --git a/packages/lucide-vue-next/package.json b/packages/lucide-vue-next/package.json index 2148282d4..73bf9af7d 100644 --- a/packages/lucide-vue-next/package.json +++ b/packages/lucide-vue-next/package.json @@ -1,6 +1,6 @@ { "name": "lucide-vue-next", - "version": "0.160.0", + "version": "0.0.1", "author": "Eric Fennis", "description": "A Lucide icon library package for Vue 3 applications", "license": "ISC", diff --git a/packages/lucide-vue/package.json b/packages/lucide-vue/package.json index 933fc9658..3b6b44b25 100644 --- a/packages/lucide-vue/package.json +++ b/packages/lucide-vue/package.json @@ -1,6 +1,6 @@ { "name": "lucide-vue", - "version": "0.160.0", + "version": "0.0.1", "author": "Eric Fennis", "description": "A Lucide icon library package for Vue 2 applications", "license": "ISC", diff --git a/packages/lucide/package.json b/packages/lucide/package.json index 28f15bcfc..a1a6687ee 100644 --- a/packages/lucide/package.json +++ b/packages/lucide/package.json @@ -1,7 +1,7 @@ { "name": "lucide", "description": "A Lucide icon library package for web and javascript applications.", - "version": "0.160.0", + "version": "0.0.1", "license": "ISC", "homepage": "https://lucide.dev", "bugs": "https://github.com/lucide-icons/lucide/issues",