Files
everforest-resources/.github/workflows/release.yml
renovate[bot] 02733e1d7c chore(deps)!: update actions/download-artifact (v7.0.0 → v8.0.0) (#53)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/download-artifact](https://redirect.github.com/actions/download-artifact)
| action | major | `v7.0.0` → `v8.0.0` |

---

### Release Notes

<details>
<summary>actions/download-artifact (actions/download-artifact)</summary>

###
[`v8.0.0`](https://redirect.github.com/actions/download-artifact/releases/tag/v8.0.0)

[Compare
Source](https://redirect.github.com/actions/download-artifact/compare/v7.0.0...v8.0.0)

#### v8 - What's new

##### Direct downloads

To support direct uploads in `actions/upload-artifact`, the action will
no longer attempt to unzip all downloaded files. Instead, the action
checks the `Content-Type` header ahead of unzipping and skips non-zipped
files. Callers wishing to download a zipped file as-is can also set the
new `skip-decompress` parameter to `false`.

##### Enforced checks (breaking)

A previous release introduced digest checks on the download. If a
download hash didn't match the expected hash from the server, the action
would log a warning. Callers can now configure the behavior on mismatch
with the `digest-mismatch` parameter. To be secure by default, we are
now defaulting the behavior to `error` which will fail the workflow run.

##### ESM

To support new versions of the @&#8203;actions/\* packages, we've
upgraded the package to ESM.

#### What's Changed

- Don't attempt to un-zip non-zipped downloads by
[@&#8203;danwkennedy](https://redirect.github.com/danwkennedy) in
[#&#8203;460](https://redirect.github.com/actions/download-artifact/pull/460)
- Add a setting to specify what to do on hash mismatch and default it to
`error` by
[@&#8203;danwkennedy](https://redirect.github.com/danwkennedy) in
[#&#8203;461](https://redirect.github.com/actions/download-artifact/pull/461)

**Full Changelog**:
<https://github.com/actions/download-artifact/compare/v7...v8.0.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At 12:00 AM through 04:59 AM and 10:00
PM through 11:59 PM, Monday through Friday ( * 0-4,22-23 * * 1-5 ), Only
on Sunday and Saturday ( * * * * 0,6 ) in timezone Europe/Helsinki,
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/ivuorinen/everforest-resources).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4zNi4yIiwidXBkYXRlZEluVmVyIjoiNDMuMzYuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUvZ2l0aHViLWFjdGlvbiIsInJlbm92YXRlL2dpdGh1Yi1yZWxlYXNlIiwidHlwZS9tYWpvciJdfQ==-->

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-27 01:13:03 +02:00

217 lines
8.5 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: Release
on:
push:
tags:
- "v*"
jobs:
build:
name: Build Release Assets
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Node.js
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version-file: ".nvmrc"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Generate all themes
run: npm run generate
- name: Validate themes
run: npm run validate
- name: Create release archives
run: |
# Create directories for different packages
mkdir -p dist/{terminals,editors,cli,web,complete}
# Package terminals
cp -r terminals/* dist/terminals/
cd dist && tar -czf everforest-terminals.tar.gz terminals/ && cd ..
# Package editors
cp -r editors/* dist/editors/
cd dist && tar -czf everforest-editors.tar.gz editors/ && cd ..
# Package CLI tools
cp -r cli/* dist/cli/
cd dist && tar -czf everforest-cli.tar.gz cli/ && cd ..
# Package web resources
cp -r web/* dist/web/
cp -r docs/examples/* dist/web/
cd dist && tar -czf everforest-web.tar.gz web/ && cd ..
# Complete package
cp -r {terminals,editors,cli,web,docs} dist/complete/
cp install.sh README.md LICENSE dist/complete/
cd dist && tar -czf everforest-complete.tar.gz complete/ && cd ..
# Create checksums
cd dist
sha256sum *.tar.gz > checksums.txt
cd ..
- name: Upload build artifacts
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: release-archives
path: dist/*.tar.gz
retention-days: 30
- name: Upload checksums
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: checksums
path: dist/checksums.txt
retention-days: 30
test-installation:
name: Test Installation on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
needs: build
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
variant: [dark-medium, light-medium]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Node.js
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version-file: ".nvmrc"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Generate themes
run: npm run generate
- name: Test full installation
run: |
# Test installation with backup
./install.sh --variant ${{ matrix.variant }} --backup --dry-run
# Test category installations
./install.sh --variant ${{ matrix.variant }} terminals --dry-run
./install.sh --variant ${{ matrix.variant }} cli --dry-run
create-release:
name: Create GitHub Release
runs-on: ubuntu-latest
needs: [build, test-installation]
permissions:
contents: write
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Download build artifacts
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
with:
name: release-archives
path: dist/
- name: Download checksums
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
with:
name: checksums
path: dist/
- name: Generate changelog
run: |
# Extract version from tag
VERSION=${GITHUB_REF#refs/tags/}
# Generate changelog (basic version)
echo "# Everforest Resources $VERSION" > CHANGELOG.md
echo "" >> CHANGELOG.md
echo "## 🎨 What's New" >> CHANGELOG.md
echo "" >> CHANGELOG.md
# Count generated files
npm ci && npm run generate
TOTAL_FILES=$(find . -name "*-dark-*" -o -name "*-light-*" | wc -l)
CLI_TOOLS=$(ls -1 cli/ | grep -v install.sh | wc -l)
TERMINALS=$(ls -1 terminals/ | wc -l)
EDITORS=$(ls -1 editors/ | wc -l)
echo "- 🎯 **$TOTAL_FILES** generated theme files" >> CHANGELOG.md
echo "- 🖥️ **$TERMINALS** terminal emulators supported" >> CHANGELOG.md
echo "- 📝 **$EDITORS** code editors supported" >> CHANGELOG.md
echo "- 🛠️ **$CLI_TOOLS** CLI tools configured" >> CHANGELOG.md
echo "- 🌐 Complete web development CSS framework" >> CHANGELOG.md
echo "" >> CHANGELOG.md
echo "## 📦 Installation" >> CHANGELOG.md
echo "" >> CHANGELOG.md
echo '```bash' >> CHANGELOG.md
echo "# Download and extract" >> CHANGELOG.md
echo "curl -L https://github.com/ivuorinen/everforest-resources/archive/$VERSION.tar.gz | tar xz" >> CHANGELOG.md
echo "cd everforest-resources-${VERSION#v}" >> CHANGELOG.md
echo "" >> CHANGELOG.md
echo "# Install everything" >> CHANGELOG.md
echo "./install.sh" >> CHANGELOG.md
echo "" >> CHANGELOG.md
echo "# Or install specific categories" >> CHANGELOG.md
echo "./install.sh terminals" >> CHANGELOG.md
echo "./install.sh --variant light-medium cli" >> CHANGELOG.md
echo '```' >> CHANGELOG.md
echo "" >> CHANGELOG.md
echo "## 🗂️ Package Contents" >> CHANGELOG.md
echo "" >> CHANGELOG.md
echo "- **everforest-complete.tar.gz**: Everything in one package" >> CHANGELOG.md
echo "- **everforest-terminals.tar.gz**: Terminal emulator themes only" >> CHANGELOG.md
echo "- **everforest-editors.tar.gz**: Code editor themes only" >> CHANGELOG.md
echo "- **everforest-cli.tar.gz**: CLI tool configurations only" >> CHANGELOG.md
echo "- **everforest-web.tar.gz**: Web development resources only" >> CHANGELOG.md
echo "" >> CHANGELOG.md
echo "All packages include 6 theme variants (dark/light × hard/medium/soft)." >> CHANGELOG.md
- name: Create Release
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
with:
files: |
dist/*.tar.gz
dist/checksums.txt
body_path: CHANGELOG.md
draft: false
prerelease: ${{ contains(github.ref, 'alpha') || contains(github.ref, 'beta') || contains(github.ref, 'rc') }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
notify:
name: Post-Release Notifications
runs-on: ubuntu-latest
needs: create-release
if: success()
steps:
- name: Extract version
run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
- name: Create deployment summary
run: |
echo "## 🚀 Release ${{ env.VERSION }} Deployed Successfully!" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### 📦 Available Downloads:" >> $GITHUB_STEP_SUMMARY
echo "- [Complete Package](https://github.com/ivuorinen/everforest-resources/releases/download/${{ env.VERSION }}/everforest-complete.tar.gz)" >> $GITHUB_STEP_SUMMARY
echo "- [Terminals Only](https://github.com/ivuorinen/everforest-resources/releases/download/${{ env.VERSION }}/everforest-terminals.tar.gz)" >> $GITHUB_STEP_SUMMARY
echo "- [Editors Only](https://github.com/ivuorinen/everforest-resources/releases/download/${{ env.VERSION }}/everforest-editors.tar.gz)" >> $GITHUB_STEP_SUMMARY
echo "- [CLI Tools Only](https://github.com/ivuorinen/everforest-resources/releases/download/${{ env.VERSION }}/everforest-cli.tar.gz)" >> $GITHUB_STEP_SUMMARY
echo "- [Web Resources Only](https://github.com/ivuorinen/everforest-resources/releases/download/${{ env.VERSION }}/everforest-web.tar.gz)" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### 🎯 Quick Install:" >> $GITHUB_STEP_SUMMARY
echo '```bash' >> $GITHUB_STEP_SUMMARY
echo "curl -L https://github.com/ivuorinen/everforest-resources/archive/${{ env.VERSION }}.tar.gz | tar xz" >> $GITHUB_STEP_SUMMARY
echo "cd everforest-resources-${VERSION#v} && ./install.sh" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY