Skip to content

Update

Update #1256

Workflow file for this run

name: Update
on:
schedule:
- cron: "0 12 * * *"
workflow_dispatch:
env:
repository: iconoir-icons/iconoir
jobs:
update:
name: Update icons
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- id: current-version
name: Get current version
uses: juliangruber/read-file-action@v1
with:
path: ./.version
trim: true
- id: latest-version
name: Get latest version
uses: pozetroninc/github-action-get-latest-release@v0.8.0
with:
repository: ${{ env.repository }}
token: ${{ secrets.GITHUB_TOKEN }}
- id: new-version
name: Compare versions
run: |
echo "Current version: ${{ steps.current-version.outputs.content }}"
echo "Latest version: ${{ steps.latest-version.outputs.release }}"
if [ "${{ steps.current-version.outputs.content }}" != "${{ steps.latest-version.outputs.release }}" ]; then
echo ::set-output name=exists::true
fi
- name: Download iconoir
if: steps.new-version.outputs.exists
run: |
# Download the latest version of iconoir
curl -sSL https://github.com/${{ env.repository }}/archive/refs/tags/${{ steps.latest-version.outputs.release }}.tar.gz -o iconoir.tar.gz
# Remove existing icons
rm -rf resources/svg/*
# Extract the new icon directories in resources/svg
tar -C resources/svg \
--wildcards \
--strip-components=2 \
-zxf iconoir.tar.gz \
'iconoir-*/icons/**/*.svg'
# Move the regular icons to resources/svg
mv -v resources/svg/regular/*.svg resources/svg
# Add the "-solid" suffix to the solid icons and move them to resources/svg
for file in resources/svg/solid/*.svg; do
mv -v "$file" "resources/svg/$(basename "$file" .svg)-solid.svg"
done
# Clean up
rm iconoir.tar.gz
rmdir resources/svg/regular
rmdir resources/svg/solid
- name: Update .version
if: steps.new-version.outputs.exists
run: echo ${{ steps.latest-version.outputs.release }} > ./.version
- name: Create pull request
if: steps.new-version.outputs.exists
uses: peter-evans/create-pull-request@v7
with:
commit-message: "chore: update to iconoir ${{ steps.latest-version.outputs.release }}"
title: "chore: update to iconoir ${{ steps.latest-version.outputs.release }}"
branch: chore/update-${{ steps.latest-version.outputs.release }}
body: |
This PR updates iconoir from [${{ steps.current-version.outputs.content }}](https://github.com/${{ env.repository }}/releases/tag/${{ steps.current-version.outputs.content }}) to [${{ steps.latest-version.outputs.release }}](https://github.com/${{ env.repository }}/releases/tag/${{ steps.latest-version.outputs.release }}).
Check out the differences: [`${{ steps.current-version.outputs.content }}` ... `${{ steps.latest-version.outputs.release }}`](https://github.com/${{ env.repository }}/compare/${{ steps.current-version.outputs.content }}...${{ steps.latest-version.outputs.release }})